Chuyển đến nội dung chính

Hướng dẫn test negative (Test tiêu cực, test không hợp lệ, test ngược ...)

Hướng dẫn test negative

Link tham khảo: Guru99.com

Test tiêu cực - Dịch chuối quá - nên mình quyết định dùng từ gốc là: Negative testing. Bài hướng dẫn sẽ gồm các phần sau:

  • Định nghĩa - Negative testing là gì. (What)
  • Negative testing có quan trọng không? (Is)
  • Làm như thế nào? (How)
  • Ưu và nhược điểm! (Pros. & cons.)

Định nghĩa negative testing!

Để đảm bảo hệ thống chạy trơn tru và ổn định, chúng ta chỉ test những trường hợp bình thường và hợp lệ là chưa đủ. Vì vậy, để đảm bảo hệ thống chạy có thể xử lý được những trường hợp ngoại lệ ta cần test thêm những ngữ cảnh không hợp lệ! (negative testing). Làm được việc này thì hệ thống sẽ có kinh nghiệm xử lý khi các ngữ cảnh này xảy ra bất thường.

ví dụ: 
Thực tế đời sống: Xe buýt chở được 20 người. Ta cho 20 người cho xe chở bình thường. Nhưng chuyện gì sẽ xảy ra nếu nó chở 21 hoặc 30 người? Xe bị đổ, nghiêng, lún, lái khó ...=> Đây là negative case.

Phần mềm: Email field có thể chứa đến 50 ký tự => Điều gì sẽ xảy ra nếu email của người dùng có đến 60 ký tự ? => Lỗi quăng ra không lưu được người dùng, dừng hệ thống ... => Đây là negative case.

Negative testing có quan trọng không?

Câu trả lời ngắn gọn là . Nhưng việc dùng nó ở đâu và như thế nào thì phụ thuộc vào tùy tình huống, rủi ro của dự án.
Đối với những dự án quan trọng như: thương mại điện tử, hóa đơn, ... thì việc test thể hiện hiệu quả cao để tránh rủi ro về sản phẩm, hacker, những người phá hoại... Ngược lại, đối với những dự án nhỏ và ít liên quan tới doanh thu như: quản lý thông tin nhân viên, tìm nhà ở... thì phần ưu tiên lại testing negative lại giảm xuống.

Làm như thế nào? 

Quy trình bình thường:
  1. Tìm hiểu tài liệu.
  2. Chọn lọc những case hợp lệ.
  3. Suy ra được những case ngoại lệ.

 Ưu và nhược điểm

Ưu:
  1. Nâng cao chất lượng sản phẩm.
  2. Giúp sản phẩm có khả năng phản ứng tốt với ngoại lệ. => Tăng độ tự tin cho khách hàng.
Nhược điểm:
  1. Tốn thời gian và chi phí.
  2. Cần nguồn nhân lực có kinh nghiệm để suy nghĩ những trường hợp ngoại lệ.
  3. Khó quản lý hoặc nhận ra hết những trường hợp ngoại lệ.
Kết: Tester cần có kỹ năng để nhìn nhận được những case Negative để cho bộ testcase hoàn hảo hơn.

Nhận xét

Bài đăng phổ biến từ blog này

Hướng dẫn cơ bản về chẩn đoán mã lỗi OBD 2 trên ô tô

OBD2 - DTCs    1) Diagnostic Trouble Code (DTC) là gì? DTC hay còn gọi là mã lỗi là những mã được lưu trữ trong máy tính của xe hơi. Mỗi xe hơi hiện đại từ 1994 trở đi đều được trang bị một hộp đen có chứa máy tính, máy tính này có nhiệm vụ chẩn đoán tình trạng hiện tại của xe nhằm đảm bảo xe được vận hành an toàn không gây nguy hiểm cho người sử dụng (Ví dụ: nếu máy tính này phát hiện thắng xe đang có lỗi nó sẽ cảnh báo và không cho người dùng sử dụng xe). Mỗi mã được lưu trữ mang một ý nghĩa nhất định và chỉ ra nơi đang gặp vấn đề trong xe. Kỹ sư ô tô dựa vào đó để tìm và sửa lỗi. Mã lỗi này có thể đọc được bằng cách dùng thiết bị đọc mã lỗi do các bên thứ ba phát hành. Hiện tại trên thị trường có rất nhiều loại thiết bị đọc mã lỗi với các tính năng khác nhau. 2) DTC có đáng tin cậy không? Câu trả lời là: Có và không! Có vì nó chỉ ra những mã lỗi một cách dã chiến nhất theo ý hiểu của máy tính (Cá nhân tôi gọi là ngu ngốc). Ví dụ: nếu một bộ phận cảm biến nà...

Dùng Jira Quản lý testcase

Jira là bộ công cụ quản lý bug và công việc hiệu quả theo mô hình Agile framework, SCRUM (scrum là lý thuyết). Khi ta dùng Jira kết hợp với việc quản lý testcase: 1. Lợi ích và nhược điểm trong việc quản lý testcase dùng Jira. Jira phát triển một hệ thống software inside tools, có khả năng kết nối với các công cụ của MS như Excel, Word,... nên hầu như mọi công ty khi team test phát triển hệ thống đều kết nối MS Excel làm testcase list và Jira làm task links. Ưu điểm: nhanh gọn, excel viết testcase nhanh thông dụng, đánh kết quả tốt chỉ cần 1 template chuẩn cho việc này. Khuyết điểm: Jira testcase attach, việc tìm kiếm nội dung không tốt nếu triển khai Jira team không thành công. 2. Tester dùng Jira. Tester dùng Jira như một member và chạy task trên Project. Thường một task dev thì tester chia 3 loại: - Create test case - Prepare data test - Execution test Trong một vài công ty lớn chuyên nghiệp thì họ chia thêm một số việc như: Thực thi test môi trường thử nghiệm, môi trường pilot...

Bảy nguyên tắc cơ bản của Kiểm thử phần mềm

Nội dung: nói và diễn giải về bảy nguyên tắc cơ bản trong testing software. Bài này là bài lý thuyết bổ sung và tester phải nắm được nằm lòng các nguyên tắc này! Bảy nguyên tắc (như khẩu huyết trong võ công): Kiểm thử tất cả mọi trường hợp là không thể được. ( EXHAUSTIVE testing is not possible ). Giải thích như sau: Một form có textbox cho phép nhập từ 1 -> 1.000.000.000.000. Nếu để kiểm thử nhập liệu cho textbox này ta phải kiểm thử 1k tỷ lần. Mỗi thao tác nhập cho là 1 giây, và phép toán kiểm tra nhập liệu là 0.1 giây nữa thì ta phải mất xấp xỉ 1k tỷ giây là khoảng 31k năm để thực thi nó. Đời người chỉ khoảng một trăm năm, vậy phải mất cả mấy nghìn đời để thực thi kiểm tra một textbox mà chưa kể đến nhiều đối tượng khác cho nên mới nói điều này là không thể làm được! (Chi phí nuôi nghìn người và giá trị bỏ ra là không xứng). Để xử lý thì ta: dùng kỹ thuật phân vùng tương đương, Phân nhánh nghiệp vụ, chia lớp xử lý... (Sẽ nói chi tiết sau). Kiểm thử là chỉ ra sai sót đang có ...