HomeOur Team
Phân biệt một vài khái niệm phổ biến trong Testing

Phân biệt một vài khái niệm phổ biến trong Testing

By nhung.ngo
Published in Testing
November 11, 2022
1 min read

Xin chào mọi người, hôm nay mình sẽ chia sẻ với mọi người về một số khái niệm phổ biến trong Kiểm thử.

1. Phân biệt Manual Testing và Automation Testing

Yếu tốManual TestingAutomation Testing
Cách thực hiện- Được tester thực hiện bằng tay- Được thực hiện thông qua tool
Chi phí- Tốn nhiều thời gian & nhân lực- Tiết kiệm thời gian & nhân lực nhưng cần đầu tư về tool
Giao diện thay đổi- Không mất nhiều thời gian để update test case khi có thay đổi nhỏ- Thay đổi nhỏ cũng sẽ mất thời gian để update kịch bản kiểm thử
Kiến thức về lập trình- Không yêu cầu tester phải biết về lập trình- Tester cần có kiến thức về lập trình để hiện thực test script
Test UI- Dễ dàng cho việc test UI, tester sẽ có phản hồi nhanh và trực quan về UI- Khó có cái nhìn đúng và trực quan về giao diện
Kết quả test- Kết quả không đáng tin cậy vì có thể sai xót do yếu tố con người- Kết quả đáng tin hơn
Dự án áp dụng- Phù hợp với những dự án nhỏ, thời gian hiện thực ngắn- Phù hợp với dự án lớn, liên tục phát triển trong thời gian dài hạn

image

2. Phân biệt Retesting và Regression Testing

  • Retesting:
    • Là thực hiện test lại phần đã bị lỗi trước đó; không liên quan đến việc kiểm tra các phần khác của phần mềm. Mục đích là đảm bảo rằng lỗi ban đầu đã được dev fix thành công.
    • Việc re-test chỉ được thực hiện đối với các test case NG. Khi có ít thời gian thì Retesting được ưu tiên hơn so với Regression Testing.
  • Regression Testing:
    • Được thực hiện để đảm bảo rằng sự thay đổi trong một phần của phần mềm không ảnh hưởng đến các phần khác.
    • Khi có lỗi, Dev sẽ tiền hành sửa lỗi. Quá trình sửa có thể phải thay đổi code và có khả năng gây ảnh hưởng đến các phần khác mà không thể nhìn thấy ngay lập tức. Vì vậy, bất cứ khi nào phần mềm có sự thay đổi, để đảm bảo rằng các chức năng khác không bị ảnh hưởng, tester cần thực hiện regression testing.
    • Tuy nhiên, với những hệ thống lớn, đôi khi chúng ta sẽ không đủ thời gian để regression toàn bộ các chức năng. Vì thế cần tuỳ thuộc vào tình hình dự án (deadline, nhân lực….) mà ưu tiên test những chức năng quan trọng, những phần mà user dễ động đến nhất. image

3. Error, Bug, Defect and Failure - sự khác nhau giữa chúng

ErrorBugDefectFailure
- Lỗi xảy ra do hành động của con người, dẫn đến kết quả sai- Là một khiếm khuyết trong một thành phần hoặc hệ thống, làm cho thành phần hoặc hệ thống hoạt động không đúng yêu cầu.- Lỗi trong qua trình phát triển hoặc lỗi logic làm cho chương trình hoạt động sai yêu cầu đề ra.- Là sự khác nhau giữa kết quả thực tế và kết quả mong đợi
Ví dụ: Developer đặt sai tên biến, dẫn đến khi gọi biến này thì không ra kết quả.Ví dụ: Popup có button cancel để đóng, nhưng khi click thì không đóng đượcVí dụ: Lỗi sai về design, SRS dẫn đến code saiVí dụ: Khách hàng mong muốn hệ thống có thể đáp ứng 1000 request. Nhưng thực tế hệ thống chỉ đáp ứng được 999 request

image

4. Black box testing and White box testing

Black box testWhite box test
Khái niệmKiểm tra hộp đen là phương pháp thử nghiệm phần mềm được sử dụng để kiểm tra các phần mềm mà không quan tâm đến cấu trúc bên trong của chương trình.Kiểm tra hộp trắng là phương pháp kiểm thử phần mềm, sử dụng để kiểm tra phần mềm mà yêu cầu phải biết cấu trúc bên trong của chương trình.
Người thực hiệnThử nghiệm được thực hiện chủ yếu bởi testerThông thường được thử nghiệm bởi developer
Cấp độ test được sử dụngThử nghiệm áp dụng ở cấp độ cao như: kiểm tra hệ thống (System test), kiểm thử chấp nhận (Acceptance testThử nghiệm ở mức độ thấp hơn như thử nghiệm đơn vi (Unit test), Integration test
Biết lập trìnhKhông yêu cầu hiểu biết về Lập trìnhYêu cầu hiểu biết nhất định về lập trình
Biết việc thực hiện chương trìnhKhông yêu cầu hiểu về cấu trúc bên trong chức năng, và không cẩn hiểu làm thế nào để có được chức năng đóYêu cầu hiểu cấu trúc bên trong chức năng được thực hiện như nào
Cơ sở tạo Test CasesKiểm tra hộp đen được bắt đầu dựa trên tài liệu yêu cầu kỹ thuật (như phân vùng tương đương, phân tích giá trị biên, bảng quyết định…)Kiểm tra hộp trắng được bắt đầu dựa trên các tài liệu thiết kế chi tiết

image

5. Testing and Debugging

  • Testing:
    • Là quá trình liên quan đến việc phát hiện ra các lỗi có trong phần mềm.
    • Thường những người có kiến thức về testing sẽ tham gia vào quá trình này.
  • Debugging:
    • Là quá trình tìm, phân tích và sửa các lỗi được tìm thấy trong quá trình Testing.
    • Developer, programmer sẽ tham gia vào quá trình này.

6. Varification and validation image

VerificationValidation
- Đảm bảo phần mềm thực hiện đúng đặc tả yêu cầu, có đúng với thiết kế hay không
- Phát hiện lỗi lập trình
- Đảm bảo phần mềm đáp ứng yêu cầu người dùng
- Phát hiện lỗi phân tích, thiết kế
Verification đảm bảo rằng “you built it right”Validation đảm bảo rằng “you built right thing”

Kết Cảm ơn các bạn đã đọc đến cuối bài viết nha. Đây chỉ là những hiểu biết mang tính cá nhân, có thể sẽ còn nhiều thiếu sót nên hi vọng sau khi đọc xong sẽ nhận được những comment góp ý của mọi người nha ^^


Tags

Testing

Share

nhung.ngo

nhung.ngo

Tester

Expertise

Related Posts

Tìm hiểu chương 1 giáo trình ISTQB-CTFL_Syllabus_2018_V3.1_Phần 1
Testing
Tìm hiểu chương 1 giáo trình ISTQB-CTFL_Syllabus_2018_V3.1_Phần 1
December 18, 2022
4 min
© 2023, All Rights Reserved.
Powered By

Quick Links

HomeOur Team

Social Media