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

Tản mạn về test case

Test case là mindset của Tester

Ngày nay khi sản phẩm phần mềm lên ngôi, những dòng test case dường như bị khá ngắn lại, và kèm đó check list ra đời như mấy dòng văn tiểu thuyết kén người lại vậy.

Tuy nhiên không phải tự nhiên mà bỏ, mà quan trọng là người tester đó có đưa ra đúng và đủ testcase hay không, vì mặc nhiên ai cũng nghĩ rằng mình tốt.

Thao trường thì đổ mồ hôi thì chiến trường ít đổ máu! Một khi đã làm test case thì cần sự tôn trọng cho nó thật sự, vẽ bảng đo lường, đọc thông số.

Ấy thế mà, thời giờ các ông đi làm phần mềm cứ gân cổ lên đòi làm auto, tới lui làm code auto, code auto như cái mình vậy. Thử hỏi không có cái đầu não thì sao auto được...


Nhận xét

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

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ự => Đ...

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ó ...

Ba lợi ích không ngờ tới của việc kết hợp test API trong quá trình code.

Bằng việc kết hợp TTD (Phát triển phần mềm theo hướng test) trong đó có API testing đưa đến ba hiệu quả rất thiết thực sau đây: 1. Chất lượng test. Nếu bạn chờ sau khi hoàn thành xong việc phát triển mới bắt tay vào test API thì những testcase của bạn sẽ có xu hướng trở thành happy case (những case thuận) và rất ít khi cho ra lỗi. Hiệu quả của việc này là phần mềm của bạn sẽ chạy rất khó khăn khi đưa ra môi trường thực tế. Ngược lại nếu bạn thực hiện API testing sớm thì những passive case sẽ chạy được và làm cho API trở nên mạnh mẽ và sáng tạo có khả năng hoạt động linh hoạt về lâu dài. 2. Test coverage (Độ bao phủ test). Thông thường API sẽ bao phủ toàn bộ các chức năng chính của phần mềm bạn, với xu hướng mobile web và đa nền hoạt động như hiện nay, độ che phủ chức năng của API ngày lại càng trở nên linh động và bao trùm. Do đó nếu làm tốt việc test API, thì bạn có thể khẳng định rằng phần mềm của bạn đã được bao phủ bởi nhiều testcase. 3. Test reuse (Sử dụng lại) Khi sử ...