Thuật ngữ IT dành cho TESTER
Như mọi người cũng đã biết, Tiếng Anh ngày càng được phổ cập ở mọi lĩnh vực trong xã hội và ngành kiểm thử cũng không ngoại lệ. Đối với những ai đã & đang làm việc trong nghành công nghệ thông tin, chắc chắn cũng đã phần nào hiểu được tầm quan trọng của người Tester.
Qua bài viết này, mình hy vọng mọi người sẽ có thêm hiểu biết rõ ràng hơn về các khái niệm test cũng như nắm được các thông tin cơ bản nhất về các loại test để xác định được lỗi có thể xảy ra trong quá trình phát triển phần mềm.
1. Black-box Testing (Kiểm thử hộp đen): Được sử dụng để kiểm tra xem hệ thống có hoạt động như mong đợi mà không quan tâm đến code bên trong. Thường sẽ do bộ phận QA thực hiện.
2. White-box Testing (Kiểm thử hộp trắng): Là kỹ thuật test dựa trên kiến thức về logic bên trong mã nguồn của một ứng dụng và bao gồm các loại test như coverage of code statements, branches, paths, conditions (độ phủ của các dòng lệnh, test nhánh, test đường dẫn, test điều kiện). Thường sẽ do bộ phận Developer thực hiện.
3. Unit-testing (Kiểm thử đơn vị): Là một mức kiểm thử phần mềm với mục đích để xác nhận từng unit của phần mềm có được phát triển đúng như được thiết kế hay chưa.
4. Integration Testing (Kiểm thử tích hợp): Là một mức của kiểm thử phần mềm với mục đích kiểm tra một nhóm các module nhỏ liên quan đến nhau xem chúng có hoạt động được với nhau đúng chức năng như trong thiết kế hay không.
5. System Testing (Kiểm thử hệ thống): Là một mức của kiểm thử phần mềm. Giai đoạn này sẽ hoàn thiện và hợp nhất phần mềm để kiểm thử.
***Theo ISTQB định nghĩa: quy trình của kiểm thử tích hợp hệ thống để xác nhận xem hệ thống phần mềm có đáp ứng đúng theo đặc tả yêu cầu.
6. Acceptance Testing (Kiểm thử chấp nhận): Mục đích của Acceptance Test là để chứng minh phần mềm thỏa mãn tất cả yêu cầu của khách hàng và khách hàng chấp nhận sản phẩm.
7. Manual Testing (Kiểm thử bằng tay): Là việc thử nghiệm một phần mềm hoàn toàn được làm bằng tay bởi người Tester. Nó được thực hiện nhằm phát hiện lỗi (bugs) trong phần mềm đang được phát triển.
8. Automation Testing (Kiểm thử tự động): Là phương pháp kiểm thử tự động. Người Tester sẽ phải viết các kịch bản kiểm thử sau đó sử dụng các tool hỗ trợ để thực hiện kiểm thử, phương pháp này sẽ giúp việc kiểm thử hiệu quả và tốn ít thời gian hơn. Automation testing giúp chạy các kịch bản kiểm thử lặp lại nhiều lần và các task kiểm thử khác khó thực hiện bằng tay như Performance testing và tress testing.
9. Verification (Xác minh): Là quy trình đánh giá một hệ thống hoặc một thành phần để xác định xem liệu các sản phẩm của một giai đoạn phát triển nhất định có đáp ứng được những yêu cầu được định tại thời điểm bắt đầu của giai đoạn đó không.
10. Validation (Xác thực): Là quy trình đánh giá một hệ thống hoặc một thành phần trong suốt quá trình phát triển hoặc lúc kết thúc của quá trình phát triển để xác định xem liệu nó có được làm ra đúng như những yêu cầu cụ thể như những yêu cầu lúc đầu đưa ra không.
11. Usability Testing (Kiểm thử tính khả dụng): Xác định mức độ sản phẩm phần mềm được hiểu, dễ học, dễ hoạt động và hấp dẫn người dùng như trong tài liệu đặc tả hay không.
12. Load Testing (Kiểm thử khả năng tải dữ liệu):Là quá trình kiểm thử khả năng chịu tải dữ liệu thực tế của bất kỳ ứng dụng hoặc trang web nào. Nó đánh giá cách ứng dụng hoạt động trong điều kiện hoạt động bình thường và lượng truy cập tăng cao. Loại kiểm thử này được áp dụng cho những dự án gần đi đến giai đoạn hoàn thành.
13. Test plan (Kế hoạch kiểm thử): Là một tài liệu mô tả các mục tiêu, phạm vi, phương pháp tiếp cận, nhân lực cần có, các features cần được test và không phải test, các công cụ test và môi trường test cần có.
14. 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 thông qua thời gian phản hồi của hệ thống với số lượng người dùng bất kỳ 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.
15. Smoke Testing: Là quá trình để kiểm tra liệu bản build đã ổn định hay chưa? Nếu các chức năng chính của bản build có vấn đề sẽ được gửi lại team dev để sửa luôn. Nó là 1 bài test hồi quy nhỏ đơn giản và nhanh của các chức năng chính, cho thấy sản phẩm đã sẵn sàng cho việc test hay chưa. Mục tiêu không phải là để thực hiện kiểm thử toàn diện, mà là để xác minh rằng các chức năng quan trọng của hệ thống đang hoạt động tốt.
16. Agile Testing: Là việc kiểm thử thực hiện dựa trên quan điểm của khách hàng, thực hiện sớm và thường xuyên ngay khi code xong, đủ ổn định để test từ level unit test.
17. Re-test: Thực hiện test để đóng bug/ defect / lỗi sau khi lập trình viên đã được sửa hoặc sửa 1 chức năng nào đó rồi test lại chức năng sửa đó thì gọi là test lại hoặc 1 chức năng cần re-est vài lần cho hết bug.
18. Test case: Mô tả một dữ liệu đầu vào (input), hành động (action) hoặc một sự kiện (event), kết quả mong đợi và kết quả truy vấn (expected response). Test Case nhằm kiểm tra từng chức năng của ứng dụng phần mềm hoạt động đúng hay không.
19. Test Strategy (chiến lược test): là cách bạn xác định hướng tiếp cận test, cái bạn muốn đạt được, và làm như nào để bạn đạt được cái bạn muốn.