Tổng hợp các dạng bài tập kiểm thử phần mềm phổ biến nhất hiện nay

Đinh Thao

Bài tập kiểm thử phần mềm là một trong những nội dung quan trọng trong mỗi khóa học tester, bên cạnh việc học lý thuyết, thì bài tập thực hành sẽ giúp cho các bạn hiểu và nhớ kiến thức lâu hơn. Vậy đâu là dạng bài tập cơ bản của ngành học này? Hãy cùng theo dõi bài viết dưới đây của testerpro để cập nhật những dạng bài tập thường gặp nhất khi học tester nhé!

bai tap kiem thu phan mem

Top 3 dạng bài tập kiểm thử phần mềm thường gặp nhất

Bài tập kiểm thử kiểm thử hộp trắng

Ví dụ: Hàm nhị phân sau được sắp xếp theo thứ tự tăng dần với ngôn ngữ C. Input Array V, có n là kích thức của mảng. Hãy tìm chỉ số mảng của X, nếu không có hãy trả giá trị về -1.

1. int binSearch(int x, int v[], int n){

2. int low, high, mid; low = 0; high = n – 1;

3. while (low<=high){

4. mid = (low + high)/2;

5. if (x<v[mid])

6. high = mid – 1;

7. else if (x > v[mid])

8. low = mid + 1;

9. else

10. return mid;

11. }

12. return -1;

13. }

Với dòng đồ thị luồng điều khiển như sau:

bai tap kiem thu phan mem

Bao phủ đường dẫn all path coverage/path/nhánh:

Path 1: 1-2-3T-4-5F-7F-9-10-13

Path 2: 1-2-3T-4-5F-7T-8-11-3T-4-5F-7F-9-10-13

Path 3: 1-2-3T-4-5F-7T-8-11-3F-12-13

Path 4: 1-2-3T-4-5T-6-11-3T-4-5F-7F-9-10-13

Path 5: 1-2-3T-4-5T-6-11-3T-4-5F-7T-8-11-3F-12-13

Path 6: 1-2-3T-4-5T-6-11-3F-12-13

Path 7: 1-2-3F-12-13

Path 8: 1-2-3T-4-5F-7T-8-11-3T-4-5F-7T-8-11-3F-12-13

Câu lệnh bao phủ:

Path 5: 1-2-3T-4-5T-6-11-3T-4-5F-7T-8-11-3F-12-13

Bài tập kiểm thử hộp đen

Ví dụ 1 (dạng bài tập kiểm thử phần mềm phân tích giá trị vùng tương đương)

Tiền gửi ngân hàng sẽ có lãi suất khác nhau phụ thuộc vào số tiền gửi thực tế, lãi suất của bạn có thể là 3$ nếu số tiền từ 0$ – 10$, từ 100$ – 1000$ sẽ có lãi suất =5% và số tiền gửi từ 1000$ trở lên sẽ có lãi suất từ 7%. Hãy lập ra vùng giá trị tương đương cho bài toán trên?

Đối với các bài tập kiểm thử phần mềm dạng phân tích giá trị tương đương thì thông thường người ta sẽ chia ra thành 2 vùng dữ liệu đó là giá trị vùng hợp lệ (Valid) và giá trị vùng không hợp lệ (Invalid).

Cách giải:

Valid:

  • 0 <= X < 100 $ với lãi suất 3%
  • 100 <= X < 1000 $ với lãi suất 5%
  • 1000 <= X $ với lãi suất 7%

Invalid:

  • X < 0 (số âm)
bai tap kiem thu phan mem

Ví dụ 2 ( dạng bài tập kiểm thử phần mềm phân tích giá trị biên)

Tìm giá trị biên của ô testbox có dữ liệu là các giá trị nguyên từ 1 – 100.

Cũng giống với dạng bài tập trên đối với các bài tập kiểm thử phần mềm này bạn có thể áp dụng 2 cách lấy giá trị biên đó là 2 biên và 3 biên.

1. Đối với trường hợp 2 biên, bạn có hiểu đơn giản là mỗi biên bạn được lấy 2 giá trị phù hợp:

  • Tại giá trị biên min: min – 1, min
  • Tại giá trị biên max: max, max +1

2. Với trường hợp 3 biên, mỗi bên bạn sẽ được lấy 3 giá trị:

  • Giá trị biên min: min -1, min, min +1
  • Giá trị biên max:  max – 1, max, max + 1

Bài tập thực hành viết test case

Viết test case là dạng bài tập kiểm thử phần mềm thường gặp nhất mà bạn không thể bỏ qua. Hãy quan sát ví dụ dưới đây để làm quen với các dạng bài tập thuộc chủ đề này nhé!

Ví dụ: Cho form kiểm thử như hình sau:

bai tap kiem thu phan mem

Yêu cầu:

Username: Trường dữ liệu không được bỏ trống với độ dài thỏa mãn từ 3 – 30 ký tự.

Password: Không được để trống, ký tự tối thiểu là 6 và tối đa là 10

Trường hợp message có thể thông báo lỗi:

  • Username để trống.
  • Password không điền
  • Username hoặc Password đã nhập sai.
  • Độ dài Password 10 ký tự.
  • Độ dài Username dài hơn yêu cầu cho phép từ 3 đến 30 ký tự

Nhập đúng username + password sẽ chuyển user vào màn hình

Các bước làm bài tập kiểm thử theo yêu cầu trên:

UI:

  • Kiểm tra button “Sign In” highlighted khi hover mouse
  • Kiểm tra button “Sign In” đổi màu khi mouse down
  • Kiểm tra icon, font size, font style, font color của các text trên màn hình login & Error validation
  • Kiểm tra Paste keyboard, right click hoạt động với username, password
  • Kiểm tra placeholder Username, Password bi xoá khi nhập value vào Username, Password textbox
  • Kiểm tra Copy keyboard bị disable với password, right-click disable

Usename:

  • Đăng nhập thành công với user = 3 kí tự thường / ký tự unicode / ký tự bao gồm space
  • Đăng nhập thành công với user = 30 kí tự thường / ký tự unicode / ký tự bao gồm space
  • Đăng nhập thành công với user = 20 kí tự thường / ký tự unicode / ký tự bao gồm space
  • Đăng nhập không thành công với user không hợp lệ. => Hiện thị tin nhắn “Username hoặc Password đã nhập sai”
  • Đăng nhập user = 31 kí tự => mặc định trên hệ thống sẽ tự động hiển thị đoạn tin nhắn với nội dung “Độ dài Username phải nằm trong khoảng 3 đến 30 ký tự”
  • Chặn SQL injection

Password:

  • Đăng nhập thành công với passwword hợp lệ
  • Đăng nhập thành công với password từ 6 – 10 kí tự thường / ký tự unicode / ký tự bao gồm space
  • Đăng nhập password = 11 kí tự. => Tin nhắn sẽ thông báo ” Độ dài Password phải nằm trong khoảng 6 đến 10 ký tự”
bai tap kiem thu phan mem

Bài tập tìm lỗi sai

bai tap kiem thu phan mem

Khi quan sát biểu mẫu bài tập kiểm thử phần mềm trên bạn có thể phát hiện ra 1 số lỗi dưới đây:

  • Màu sắc của tiêu đề và phông chữ nên phù hợp với nhau.
  • Từ Registration trong phần tiêu đề đang viết sai.
  • Trong phần tên người dùng không được chứa cả chữ và số
  • Mật khẩu trong biểu mẫu với đường viền khung nhập văn bản đang chồng lên nhau.
  • Các lỗi sai nên được hiển thị bằng chữ màu đỏ.
  • Phần đăng ký – Register phải chuyển chữ “r” thành chữ “R”.
  • Khoảng cách giữa các trường dữ liệu phải đều nhau.
  • Phần Country nên để người dùng tự lựa chọn thay vì cài đặt mặc định ở India.
  • Phần cuối trang phải có nút hủy thông tin đăng ký.
  • Mật khẩu phải được hiển thị dưới dạng thông tin mã hóa.
  • Phần hình ảnh chứa thông tin xác nhận cần phải đọc được.
  • Nên có biểu tượng * dành cho những trường dữ liệu bắt buộc cần điền.

Bài tập viết kịch bản kiểm thử

Ví dụ: Bạn đang ở siêu thị, cửa hàng với mục đích muốn mua mặt hàng a,b,c,d tại đây. Khi đã lựa chọn xong bạn cần thanh toán và đi theo cửa EXIT để ra ngoài. Hãy kiểm thử 1 vài ví dụ sau:

  • Nếu như đây là quầy thanh toán tự động, bạn hãy tự quét thẻ và thanh toán số mặt hàng đã lựa chọn
  • Hệ thống máy quét nên quét các thông tin phù hợp liên quan đến mặt hàng trên.

Các thông tin nên được kiểm thử cho bài tập kiểm thử phần mềm trên:

  • Hãy xác minh lại quầy thanh toán có người thực hiện hay không?
  • Xác minh lại mã vạch chính xác cho từng sản phẩm.
  • Xác minh chip đọc mã vạch luôn luôn đọc đúng thông tin của các sản phẩm.
  • Xác minh tính hợp lệ của phần mềm tính tổng đối với mỗi hóa đơn.
  • Xác minh người dùng dang dùng thẻ thanh toán hợp lệ có thể là thẻ ngân hàng, thẻ ghi nợ……
  • Xác minh tính bảo mật thông tin của người dùng.
  • Chỉ thu đúng số tiền theo đúng số sản phẩm khách hàng đã mua

Bài tập báo cáo lỗi

Ví dụ: Khi bạn đăng nhập vào gmail nhưng lại muốn công cụ điều hướng tới Google.com

Gợi ý:

Id lỗi 1

Mô tả lỗi: đăng nhập vào gmail nhưng lại muốn công cụ điều hướng tới Google.com

Mức độ nghiêm trọng: Quan trọng

Mức độ ưu tiên: Cao

Tái kiểm thử: có

Các bước sao chép:

  • Nhập đúng địa chỉ URL cần truy cập: http://www.gmail.com (khi này bạn có thể truy cập bằng google hoặc firefox).
  • Tiếp tục click vào mục đăng nhập, điền chính xác tên và mật khẩu đăng nhập vào trường dữ liệu phù hợp.
  • Click chọn vào mục Tiếp theo.
  • Khi này công cụ sẽ tự động điều hướng sang Google.com

Bài tập cung cấp đề xuất

bai tap kiem thu phan mem

Ví dụ biểu mẫu trên, thay vì bạn kiểm tra thông tin đó là khách hàng mới hay không thì bạn cũng có thể dựa trên địa chỉ IP hoặc email được cung cấp để kiểm tra trạng thái của khách hàng.

  • Phần thông tin “What is your e – mail address? và “Do you have password” có thể gỡ bỏ và thay thế vào đó là thông tin ID và Password giống với quá trình đăng nhập mail.
  • Nên thêm vào biểu mẫu tùy chọn đăng ký và tùy chọn đăng nhập với Google.
  • Thêm nút quên mật khẩu phòng trường hợp người dùng không nhớ mật khẩu đăng nhập.
  • Cần thêm nút hủy hành động Cancel.

Top 15+ bài tập kiểm thử phần mềm dạng trắc nghiệm hay nhất

Bên cạnh những bài tập kiểm thử phần mềm dạng tự luận thì bạn cũng có thể ôn lại kiến thức cũng như rèn luyện kỹ năng thông qua các dạng bài tập trắc nghiệm dưới đây:

Câu 1: Quan sát đoạn mã dưới đây, hãy đưa ra câu trả lời đúng?

Python

IF A > B

C = A –B

ELSE

C = A + B

ENDIF

Read D

TF C = D Then

Print “Error”

ENDIF

A. 2 test case để phủ các dòng lệnh, 3 test case để phủ nhánh

B. 2 test case để phủ các dòng lệnh, 2 test case để phủ nhánh 

C. 1 test case để phủ các dòng lệnh, 3 test case để phủ nhánh

D. 3 test case để phủ các dòng lệnh, 3 test case để phủ nhánh 

Câu 2: Đồ thị dòng dữ liệu/luồng của một đơn vị chương trình là một đồ thị có hướng G = <N; E>, trong đó N là gì?

A. Tập các hướng

B. Tập các cạnh

C. Tập các đỉnh

D. Tập các đồ thị

Câu 3: Cho đoạn chương trình mẫu dưới đây, có mấy trường hợp kiểm thử cần thực hiện để có thể bao hàm được toàn bộ nội dung của các câu lệnh (giả sử cả 2 điều kiện đó đều độc lập với nhau)

Python

if (Conditien 1)

then statement Ì

else statement 2

if (Condiion 2)

hen suement 3

A. 3 test case

B. 4 test case

C. 5 test case

D. 2 test case

Câu 4: Với hàm main bất kỳ khi đưa dữ liệu vào và nhận kết quả ra của hàm Module được gọi là gì?

A. Driver

B. Stub

C. Input

D. Output

Câu 5: Quan sát đoạn mã, hãy cho biết cần tối thiểu bao nhiêu testcase để có thể bao phủ được 100% branch coverage?

Python

If (x>y) x+=1;

Else y+=1;

While (x>y)

Y=x*y; x=x+1;

A. 4

B. 3

C. 2

D. 1

Câu 6: Cho đoạn mã sau, hãy lựa chọn phát biểu đúng nhất?

Python

Read P

Read Q

If P+Q > 100 then

Print “Large”

Endif

If P > 50 then

Print “P large”

Endif

A. 2 test case để phủ các dòng lệnh, 3 test case để phủ nhánh 

B. 1 test case để phủ các dòng lệnh, 2 test case để phủ nhánh

C. 1 test case để phủ các dòng lệnh, 1 test case để phủ nhánh

D. 1 test case để phủ các dòng lệnh, 3 test case để phủ nhánh

bai tap kiem thu phan mem

Câu 7: Ví dụ một input nhận giá trị năm sinh từ [1000, 2000]. Các giá trị biên phù hợp để test input field này là bao nhiêu?

A. 999, 1000, 2000, 2001, 2002

B. 1000, 1001, 1090, 1999

C. 0, 1900, 1990, 2000

D. 1000, 2000

Câu 8: Cho đoạn mã, hãy tìm ra số testcase cần thiết để có thể phủ toàn bộ các cung.

Python

Int kiemTra(int k){

If(k <= 1) return -1;

For(int i = 2; i < k; i++)

If(k%i==0)

Return -1;

Return 1;

}

A. Có 1 testcase

B. Có 2 testcase

C. Có 3 testcase

D. Có 4 testcase

Câu 9: Dữ liệu test filed có giá trị từ 1900 – 2004. Giá trị biên nào thõa mãn trong trường hợp kiểm thử này?

A. 1899, 1900, 2004, 2005

B. 1900, 2004

C. 0, 1900, 2004, 2005

D. 1899, 1900, 1901, 2003, 2004, 2005

Câu 10: Trong khi kiểm thử thứ tự các trường hợp kiểm thử được sắp xếp như thế nào?

A. Unit, Integration, Acceptance, System

B. Unit, System, Integration, Acceptance

C. Unit, Integration, System, Acceptance

D. Tùy thuộc vào từng dự án sẽ có thứ tự khác nhau.

Câu 11: Cho test case có giá trị nằm trong khoảng từ [a, 2, [A, Z], [0, 9]. Đưa ra các giá trị tương đương chưa thực sự hợp lệ?

A. j

B. w

C. 5

D. $

Câu 12: Trong tài liệu test plan không bao gồm nội dung nào dưới đây:

A. Những nội dung không kiểm thử được

B. Thời gian kiểm thử

C. Môi trường test

D. Kế hoạch đánh giá chất lượng

Câu 13: Trên 1 hệ thống kho có số đơn đặt hàng từ 10000 đến 99999. Lựa chọn kết quả dưới đây sao cho phù hợp nhất đối với ranh giới hợp lệ và các giá trị tương đương hợp lệ.

A. 1000, 5000, 99999

B. 10000, 99999

C. 9999, 50000, 100000. 

D. 10000, 50000, 99999.

Câu 14: Đối với phương pháp kiểm thử tích hợp, bên cạnh cách tích hợp tăng dần thì còn cách tích hợp nào khác?

A. Big Bang – Tích hợp đồng thời cùng 1 thời gian

B. Tích hợp theo chiều sâu

C. Tích hợp nhiều đơn vị

D. Tích hợp theo chiều rộng

Câu 15: Các dạng chi tiết nhất của SRS là gì?

A. System phản hồi phần mềm

B.  Đặc tả yêu cầu System

C. Phần mềm Yêu cầu kỹ thuật

>> Bạn có thể quan tâm: Tổng hợp những tài liệu học tester bằng tiếng việt hiệu quả nhất

Trên đây là một số dạng bài tập kiểm thử phần mềm thường gặp nhất mà chúng tôi đã liệt kê cho bạn. Mong rằng thông tin trên là hữu ích tới bạn. Và nếu đang muốn tìm khóa học tester để chủ động hơn trong việc học và muốn làm quen với nhiều dạng bài tập tester khác thì hãy tham khảo các khóa học tester tại trung tâm Testerpro.vn nhé!

Thông tin liên hệ:

Hotline: 0973703357

Email: testerprovn@gmail.com

Website: https://testerpro.vn/

Địa chỉ: Ngõ 76 Duy Tân, Cầu Giấy



5/5 - (2 bình chọn)
Từ khóa:
Bình luận
Icon Phone