Các phương pháp test hoặc các loại test (test types)

Chuyên đề thảo luận về kiểm thử hộp đen (Black-box Testing)
Forum rules
Chuyên đề này chỉ thảo luận về Black-box Testing.
Để có kết quả nhanh, các bạn nên search trước khi tạo chủ đề mới.
Post Reply
hoangliensonmt
Jr. Tester
Posts: 88
Joined: Mon 26 Jul, 2010 5:42 pm
Contact:

Các phương pháp test hoặc các loại test (test types)

Post by hoangliensonmt »

Các phương pháp test được phân chia dựa vào blackbox testing và whitebox testing. Hai phương pháp tiếp cận này được chú ý trong lúc thiế kế testcase.

1. Black box testing
Là phương pháp test mà không biết bên trong code có những gì, thực hiện như thế nào. Phương pháp test này bao gồm: equivalence partitioning, boundary value analysis, all-pairs testing, fuzz testing, model-based testing, traceability matrix, exploratory testing and specification-based testing.
Specification-based testing (Test dựa vào chức năng)
Là cách test các chức năng của phần mềm dựa theo yêu cầu của khách hàng, các thực hiện, các tester nhập data và chỉ thấy được kết quả trên màn hình.
Specification-based testing là cần thiết nhưng không đủ để bảo đảm sạch bug.

2. White box testing
Phương pháp này ngược với black box testing, tester có thể thấy được cấu trúc và thuật toán bên trong phần mềm
Các loại test được dùng trong whitebox testing:
  • a. api testing – Kiểm tra ứng dụng sử dụng các Public API và Private API.
    b. code coverage – Kiểm tra các điều kiện bao phủ các câu lệnh, ví dụ: tạo data sao cho chương trình có thể chạy qua tất cả các nhánh của code ít nhất là 1 lần (các câu lệnh rẽ nhánh).
    c. fault injection.
    d. mutation testing.
    e. static testing – bao gồm tất cả các phương pháp test tĩnh.
    f. Code completeness evaluation
3. Grey Box Testing
Vài năm gần đây thuật ngữ grey box mới được dùng phổ biến. phương pháp này cho phép sử dụng cấu trúc và thuật toán bên trong chương trình để thiết kế testcase. Nhưng khi test thì tester thực hiện như blackbox.

4. Kiểm tra chấp nhận (Acceptance testing)
Acceptance testing có thể có một trong hai nghĩa sau:
  • a. smoke test được sử dụng như là acceptance test trước khi tiến hành test.
    b. Thực hiện acceptance testing bởi khách hàng để xem chương trình có đáp ứng được yêu cầu của họ chưa. (viết tắt là UAT - User Acceptance Testing)
5. Kiểm tra hồi qui (Regression Testing )

Sau khi PG sửa bug xong, cần phải test lại để đảm bảo rằng việc sửa bug không gây ra sai sót khác.

6. Kiểm tra đặc điểm của phần mềm (non-function)

Trái ngược với test chức năng, phương pháp test này không quan tâm đến chức năng của phần mềm mà chỉ quan tâm đến giao diện bên ngoài của phần mềm. Chú ý các phương pháp test sau:
  • - Performance testing
    - Usability testing.
    - Security testing
    - Tính bao quát của phần mềm, phạm vi sử dụng quốc tế hay nội bộ (phần mềm chỉ dùng trong nội bộ công ty hay được dùng rộng rãi trên internet)
Tham khảo thêm ở đây: Các phương pháp kiểm thử
Last edited by hoangliensonmt on Wed 18 Aug, 2010 12:30 pm, edited 1 time in total.



hoangliensonmt
Jr. Tester
Posts: 88
Joined: Mon 26 Jul, 2010 5:42 pm
Contact:

Các loại test (test types)

Post by hoangliensonmt »

Bổ sung phần 5. Kiểm tra hồi qui (Regression Testing)

Sau khi PG sửa bug xong, cần phải test lại để đảm bảo rằng việc sửa bug không gây ra sai sót khác.

Tốt nhất là test lại toàn bộ nhưng nếu không có đủ thời gian thì chỉ test những phần liên quan đến vấn đề PG vừa fix xong, vấn đề khó khăn là xác định được những phần liên quan đến bug vừa được fixed.

Mục đích của test hồi qui là kiểm tra lại lỗi đã báo bug có được fix đúng chưa, thứ hai là kiểm tra xem việc fix bug có ảnh hưởng đến xử lý nào khác không.



tytdng
Hoc Tester
Posts: 1
Joined: Sun 07 Nov, 2010 10:51 am
Contact:

Re: Các phương pháp test (test type)

Post by tytdng »

Mình xin góp ý một chút về Regression testing:
Việc ktra hồi quy được thực hiện nói chung khi có một build mới. Các trường hợp phát triển build mới:
  • - Fix bug -> build mới
    - Phát triển các chức năng mới -> build mới
    - Change request -> build mới
    - Refractors code, optimize code -> build mới
Mục đích chung của Regression testing là ensure các chức năng cũ (đã hoạt động ok ở version trước) vẫn hoạt động tốt khi code bị thay đổi. Việc ktra xem bug dc fix hay không gọi riêng là Verification Testing.


Mình cũng rất quan tâm đến lĩnh vực software testing và mong muốn thảo luận, chia sẻ kinh nghiệm trong lĩnh vực này. Các bạn có nhu cầu có thể vào blog cá nhân của mình http://studysqa.com để trao đổi thêm.


Tìm hiểu, trao đổi và chia sẻ kinh nghiệm về kiểm thử phần mềm tại http://studysqa.com

Pham Ngoc Linh
Hoc Tester
Posts: 1
Joined: Mon 28 Nov, 2011 10:16 am
Contact:

Re: Các phương pháp test hoặc các loại test (test types)

Post by Pham Ngoc Linh »

Chào các bạn,

Các bạn vui lòng cho mình một ví dụ cụ thể cho từng phương pháp,

Cảm ơn bạn nhiều,

Phạm Ngọc Linh,



tvn
Admin
Posts: 4900
Joined: Tue 10 Aug, 2010 10:11 am
Location: HCM
Contact:

Re: Các phương pháp test hoặc các loại test (test types)

Post by tvn »

1. Blackbox testing: Thực hiện test chức năng của màn hình search thông tin (chỉ test trên giao diện của chương trình - không cần biết nó được code như thế nào).

2. Whitebox testing: Kiểm tra code của màn hình search thông tin, xem code được viết như thế nào, có hàm nào lỗi không, có câu lệnh nào lỗi hay không bao giờ được sử dụng tới không.

3. Grey Box Testing: Khi viết test case có tham khảo ngôn ngữ, cấu trúc của code, nhưng khi thực hiện test thì chỉ test trên màn hình, ví dụ chương trình code bằng java thì thường gặp lỗi khi trình duyệt tắt hoặc mở (enable) chế độ chạy java script, còn code bằng .net thì thường gặp lỗi gì gì đó,...

4. Acceptance testing: Kiểm tra hệ thống phần mềm ở mức hệ thống như anpha, beta,... xem phần mềm có đáp ứng được mong muốn của người dùng chưa. Khi khách hàng nhận được phần mềm, họ phải thuê người hoặc cho các nhân viên sử dụng trực tiếp sản phẩm => xem nó đáp ứng công việc của họ chưa, có lỗi gì không.

5. Regression Testing: Sau khi DEV sửa lỗi của màn hình search, thì thử test xem các chức năng liên quan đến màn hình này như Add new, Update,...

6. Non-function testing: Kiểm tra trên màn hình, thử nhập thông tin vào textbox search rồi click button Search, chờ bao nhiêu lâu thì có kết quả search. Nếu trong tích tắc thì chương trình này OK, còn trường hợp click button search rồi chờ nửa tiếng mới có kết quả search thì không thể chấp nhận được :D Đây là kiểm tra hiệu năng của chương trình, còn có thể nhìn xem màn hình search được sắp xếp, bố trí có hợp lý không, có tiện cho việc nhập điều kiện search và xem kết quả search,... nhập điều kiện search rồi nhấn enter thì có thực hiện search không,... đó là tính tiện lợi.



Hoangtam
Jr. Tester
Posts: 78
Joined: Wed 18 May, 2011 6:35 pm
Contact:

Re: Các phương pháp test hoặc các loại test (test types)

Post by Hoangtam »

cám ơn bài viết hữu ích của anh ! :D



quangtringuyen
Hoc Tester
Posts: 2
Joined: Tue 19 Jun, 2012 9:10 am
Contact:

Re: Các phương pháp test hoặc các loại test (test types)

Post by quangtringuyen »

Sai rồi anh ơi, từ 1-3 người ta gọi là test technique
4,5 là test level
6 là test type



tvn
Admin
Posts: 4900
Joined: Tue 10 Aug, 2010 10:11 am
Location: HCM
Contact:

Re: Các phương pháp test hoặc các loại test (test types)

Post by tvn »

Thanks bạn quangtringuyen, bạn nói đúng đó.

Có nhiều tài liệu phân loại và gọi tên khác nhau làm cho mình bị rối, nếu không hiểu và phân biệt rõ ràng thì rất dễ nhầm lẫn, Acceptance testing và Regression Testing thường được xem là loại kiểm thử vì mức kiểm thử là đi từ nhỏ lên Unit testing => integration testing => system testing, sau đây là các mức kiểm thử - test level

Testing levels
(Tham khảo wiki - software testing)

Theo tài liệu ISTQB thì test type được định nghĩa như sau:

Software test types:
  • 1. Functional testing
    2. Non-functional testing
    3. Structural testing
    4. Change-related testing
Các kỹ thuật thiết kế test (test design techniques) gồm có:
  • 1. Specification-based (black-box) testing
    2. Structure based (white-box) testing
    3. Experience-based testing.



Pbm20032016
Hoc Tester
Posts: 3
Joined: Wed 27 Apr, 2016 12:26 am
Contact:

Re: Các phương pháp test hoặc các loại test (test types)

Post by Pbm20032016 »

tvn wrote:Thanks bạn quangtringuyen, bạn nói đúng đó.

Có nhiều tài liệu phân loại và gọi tên khác nhau làm cho mình bị rối, nếu không hiểu và phân biệt rõ ràng thì rất dễ nhầm lẫn, Acceptance testing và Regression Testing thường được xem là loại kiểm thử vì mức kiểm thử là đi từ nhỏ lên Unit testing => integration testing => system testing, sau đây là các mức kiểm thử - test level

Testing levels
(Tham khảo wiki - software testing)

Theo tài liệu ISTQB thì test type được định nghĩa như sau:

Software test types:
  • 1. Functional testing
    2. Non-functional testing
    3. Structural testing
    4. Change-related testing
Các kỹ thuật thiết kế test (test design techniques) gồm có:
  • 1. Specification-based (black-box) testing
    2. Structure based (white-box) testing
    3. Experience-based testing.
cám ơn những chia sẻ của anh,em cũng hay bị nhầm lẫn giống bạn quangtringuyen :)



Post Reply

Return to “Black box Testing - Kiểm thử hộp đen”