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

Testing Process - Quy trình kiểm thử quá trình sản xuất phần mềm.

Sau khi nhận được tài liệu yêu cầu (requirement hay specification) từ khách hàng hoặc bộ phận phân tích thiết kế yêu cầu. Tiếp đó, Q.C, developer sẽ tìm hiểu, đánh giá req. này xem có lỗi hay không. Q.C sẽ viết test plan, sau đó gửi test plan cho khách hàng và project manager xem lại, sau khi duyệt test plan này Q.C sẽ tiến hành viết test case dựa vào req. đó. (Cùng lúc đó Developer sẽ dựa vào spec để phân tích ra module và bắt đầu code).

Nếu công ty có bộ phận test whitebox (thường thì developer sẽ thuộc bộ phận này, nhưng trong một số tình huống dự án cần gấp thì Q.C cũng tham dự vào để hỗ trợ) thì họ sẽ dựa vào spec viết test case test whitebox và viết test script để test whitebox. (thường gọi là unit test - ở đây, "unit" là 1 hàm, 1 class hoặc 1 component,... tùy cách nhìn nhận và quản lý của mỗi công ty).

Sau khi test whitebox thành công (test pass các test case whitebox) thì QC sẽ tiến hành test blackbox (test chức năng của từng màn hình - cái này cũng được xem là unit test, "unit" ở đây là 1 màn hình hoặc một chức năng tùy qui định và cách quản lý của mỗi công ty).

Sau khi test từng màn hình thành công (pass hết các test case hoặc đạt được số % test case pass nào đó - ví dụ 97% test case pass) thì chuyển sang giai đoạn test tích hợp (integration testing) là kết hợp một số màn hình/chức năng có liên quan lại với nhau rồi test theo luồng xử lý (user story).

Sau khi pass vòng này thì sẽ tiến hành tổng hợp toàn bộ hệ thống (sản phẩm phần mềm) và tiến hành test ở mức hệ thống.

Vmodel cho Testing
Vmodel cho Testing

Có một số công ty hoặc khách hàng yêu cầu test UAT (User Acceptance Testing) thì sẽ thực hiện test lại hệ thống theo các chức năng đã được mô tả trong req.

Có một số loại phần mềm hoặc khách hàng yêu cầu hoặc qui trình sản xuất phần mềm của công ty, phần mềm sẽ được test alphabeta.

Trên đây là một qui trình test 1 phần mềm. Tùy vào tính chất của sản phẩm và qui trình sản xuất của mỗi công ty, qui trình trên có thể có nhiều hoặc ít loại test khác hơn.

Trong quá trình test ở bất kỳ mức nào, nếu phát hiện bug thì tester sẽ post bug lên hệ thống quản lý bug (bằng excel hoặc chương trình riêng) và Developer sẽ dựa vào đó fix bug và tester sẽ test lại.

Nguồn: Sưu tầm từ internet.

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

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

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