Trong quá trình thực hiện công việc kiểm thử phần mềm, chúng ta gặp phải vô số các khái niệm khác nhau. Các khái niệm này có thể đã quen thuộc với nhiều người, nhưng cũng có rất nhiều khái niệm mà chúng ta lạ lẫm và chưa từng nghe thấy.

Một số khái niệm đã được chia sẻ ở bài viết 100 khái niệm về TEST Phần 1Phần 2, Phần 3, chúng ta đi tiếp với các khái niệm trong phần 4 nhé!

 

Parallel Testing

Kiểm thử song song là kiểm tra khả năng tương thích của hệ thống mới được phát triển với hệ thống cũ. (Thực hiện bởi Tester).

Path Testing

Kiểm tra đường dẫn là một phương pháp kiểm tra cấu trúc liên quan đến việc sử dụng mã nguồn của một chương trình để tìm ra tất cả các đường dẫn thực thi tốt. (Thực hiện bởi developer).

Penetration Testing

Kiểm thử thâm nhập là một loại kiểm tra an ninh dùng để kiểm tra các khu vực không an toàn của hệ thống hoặc ứng dụng. Phương pháp mà đánh giá sự an toàn của một hệ thống máy tính hoặc mạng bằng cách mô phỏng một cuộc tấn công từ một nguồn độc hại. Tạo ra bởi công ty kiểm thử thâm nhập chuyên ngành.

Qualification Testing

Là loại kiểm thử với mục đích kiểm tra lại các thông số kỹ thuật của phiên bản trước, thường được thực hiện bởi dev cho người tiêu dùng, để chứng minh rằng các phần mềm đáp ứng yêu cầu quy định của nó.

Ramp Testing

Loại thử nghiệm bao gồm việc nâng cao một tín hiệu đầu vào liên tục cho đến khi hệ thống bị phá vỡ. (Có thể được thực hiện bởi tester hoặc developer).

Requirements Testing

Kiểm tra các yêu cầu: xác nhận rằng yêu cầu này là chính xác, đầy đủ, rõ ràng, và hợp lý; phù hợp và cho phép thiết kế một bộ các test case cần và đủ của những yêu cầu. (Được thực hiện bởi đội ngũ QA).

Scenario Testing

Một kịch bản thử nghiệm là một kịch bản được trình bày từ quan điểm người dùng cuối và dựa trên kịch bản này, các thử nghiệm được tiến hành.Trong thử nghiệm kịch bản, tester đặt mình vào người dùng cuối và tìm ra các kịch bản thực tế.

Statement Testing

Là loại kiểm thử hộp trắng đáp ứng các tiêu chí mỗi câu lệnh trong một chương trình được thực hiện ít nhất một lần trong chương trình kiểm thử. (Thường được thực hiện bởi developer).

Scalability Testing

Kiểm tra khả năng mở rộng là kiểm tra hiệu suất hoạt động điều tra khả năng của một hệ thống để phát triển bằng cách tăng khối lượng công việc cho mỗi người dùng, hoặc số lượng người dùng đồng thời, hoặc kích thước của một cơ sở dữ liệu. Là một loại kiểm thử phi chức năng, là loại nhỏ trong kiểm thử hiệu suất.

Static Testing

Là một cách gọi của quá trình review code và các tài liệu của dự án. Đây là hình thức test mà không cần chạy thử phần mềm. Phương pháp này sử dụng giấy, bút để kiểm tra lần lượt từng logic, ngay sau khi lập trình xong. Chủ yếu kiểm tra tính đúng đắn của các dòn code, thuật toán và các tài liệu đặc tả. (Thực hiện bởi Developer, Code Reviewer, Business Analysts).

Stability Testing

Là kỹ thuật test nhằm xác minh sự ổn định của phần mềm qua việc kiểm tra khả năng chạy liên tục của ứng dụng trong hoặc hơn khoảng thời gian có thể chấp nhận được. Kiểm tra xem tại giới hạn nào thì ứng dụng bị crash. Là một phần của performance test, cũng thường được gọi là Load testing hoặc Endurance testing (test khả năng chịu đựng). (Thực hiện bởi performance tester/ engineer).

Smoke Testing

Là kiểu test mở đầu cho quá trình test, được thực hiện ngay khi code được build trên môi trường test. Kiểu này cơ bản giống như kiểu Adhoc testing: kiểm tra xem phần mềm có sẵn sàng cho việc test chưa, có đủ môi trường cho việc test chưa? Kiểm tra đại khái các thành phần cơ bản của hệ thống phần mềm để xem rằng các chức năng chính có bị bất thường hay không? Sau khi test smoke, các tester sẽ thực hiện test khả năng thực hiện của các chức năng. (Thực hiện bởi tester).

Stress Testing

Stress testing là một hình thức kiểm thử được sử dụng để xác định tính ổn định của một hệ thống phần mềm. Là kiểu test kiểm tra thời gian đáp lại người dùng với số lượng người dùng bất kỳ trong nhiều ngữ cảnh khác nhau của cùng một ứng dụng tại cùng một thời điểm. Nó liên quan đến những kiểm thử vượt quá khả năng bình thường của hệ thống, thường để xác định các điểm phá vỡ của hệ thống, để quan sát các kết quả khi vượt qua ngưỡng giới hạn. (Thực hiện bởi các kỹ sư hệ thống, Testers).

Storage Testing

Là loại test nhằm xác minh chương trình qua việc kiểm tra các file dữ liệu có được lưu trữ trong các thư mục chính xác hay không? Kiểm tra xử lý của ứng dụng trong trường hợp thiếu không gian bộ nhớ thì có bị chấm dứt bất ngờ hay không? Ngoài ra còn xác định việc ứng dụng sử dụng bộ nhớ có nhiều hơn so với ước tính hay không, có khả năng gây đầy bộ nhớ và làm tăng thời gian chết hay không? (Thực hiện bởi Tester).

Structural Testing

Là một tên gọi khác của white box testing. Hay thường được gọi là clear box testing, hoặc cũng được biết đến như glass box testing. Được thực hiện bởi developers đã tạo ra code nhằm kiểm tra tính đúng đắn của các dòng code và đảm bảo các xử lý của từng hàm, từng chức năng riêng lẻ được thực hiện đúng theo yêu cầu.

Top Down Integration Testing

Là kỹ thuật test dựa trên việc xây dựng cấu trúc chương trình. Trong đó các module của phần mềm được tích hợp bằng cách di chuyển theo chiều hướng xuống theo trình tự kiểm soát cấp bậc, bắt đầu từ module chính tới các module phụ. Khi tích hợp từ trên xuống thì khung tổng thể của hệ thống được phát triển trước, các chức năng thành phần gắn vào sau.(trái ngược với Bottom up integration: Tích hợp các thành phần có cấu trúc bên dưới trước như: dịch vụ chung, mạng, truy cập cơ sở dữ liệu, sau đó gắn thêm các thành phần chức năng). (Được thực hiện bởi các tester).

Thread Testing

Thread Testing là một kỹ thuật test phần mềm được sử dụng trong giai đoạn test integration sớm để kiểm tra khả năng hoạt động của các chức năng chính. Loại kỹ thuật này rất hữu ích khi test ứng dụng có sử dụng kiến trúc client server. (Được thực hiện bởi các tester).

Upgrade Testing

Được thực hiện khi có phiên bản mới có những tính năng mới được tạo ra dựa trên một phiên bản cũ. Đây là kỹ thuật test nhằm xác minh rằng phiên bản mới được nâng cấp, hoạt động đúng và không thách thức người dùng trong việc học cách sử dụng. (Được thực hiện bởi các tester).

Usability Testing

Là kỹ thuật test xác minh ứng dụng có khả năng ứng dụng cao và dễ sử dụng: người sử dụng có thể học để thao tác, input dữ liệu, giải thích kết quả của hệ thống hoặc các thành phần một cách dễ dàng. Giao diện thân thiện với người dùng: màu sắc, font chữ, size chữ, ngữ pháp câu chữ... (Người thực hiện: end user).

Volume Testing

Volume testing đề cập tới việc kiểm thử phần mềm ứng dụng với một lượng dữ liệu nhất định. Số lượng này có thể là kích thước cơ sở dữ liệu hoặc nó cũng có thể là kích thước của 1 tập tin giao tiếp là đối tượng của volume testing (định nghĩa trong các thuật ngữ chung). (Thực hiện bởi performance engineer/tester).

Vulnerability Testing

Là một loại test bảo mật, có mục đích để ngăn chặn vấn đề có thể ảnh hưởng đến tính toàn vẹn ứng dụng và ổn định. (Được thực hiện bởi tester thông thường hoặc một đơn vị test chuyên biệt).

Workflow Testing

Workflow là một kịch bản mô phỏng tiến trình hoạt động của chức năng nào đó hay nghiệp vụ nào đó được dự kiến sử dụng bởi người dùng cuối. Nó bao gồm nhiều bước thực hiện để đạt được kết quả mong muốn của chức năng đó. Test theo workflow là quá trình đảm bảo mỗi tiến trình làm việc phản ánh chính xác các business process. Loại test này phù hợp cho các ứng dụng workflow-based applications. (Được thực hiện bởi Tester).

 

Bài viết này đã là phần cuối trong series 100 khái niệm về TEST!

Cảm ơn các bạn đã theo dõi!