Kiểm thử phần mềm các cấp độ ( Phần I)
Có rất nhiều mức độ khác nhau trong quá trình kiểm thử. Theo như bài viết dưới đây sẽ tóm lược ngắn gọn về các cấp độ trong quá trình kiểm thử. Các mức độ sẽ gồm nhiều phương pháp khác nhau có thể được sử dụng trong quá trình tiến hành kiểm thử. Hai mức độ kiểm thử chính sẽ là : kiểm thử chức ...
Có rất nhiều mức độ khác nhau trong quá trình kiểm thử. Theo như bài viết dưới đây sẽ tóm lược ngắn gọn về các cấp độ trong quá trình kiểm thử.
Các mức độ sẽ gồm nhiều phương pháp khác nhau có thể được sử dụng trong quá trình tiến hành kiểm thử. Hai mức độ kiểm thử chính sẽ là : kiểm thử chức năng và kiểm thử phi chức năng.
I. Kiểm thử chức năng
Nó là một loại của kiểm thử hộp đen, dựa trên các mô tả của phần mềm đã được kiểm thử. Ứng dụng này được kiểm tra bằng việc cung cấp đầu vào và sau đó được kiểm tra xem đã đúng mục đích chức năng được thiết kế chưa. Kiểm thử chức năng được tiến hành khi mà phần phền đã hoàn thành , tích hợp vào hệ thống để đánh giá xem đã đúng như mô tả chưa.
Đây là 5 bước liên tiếp trong khi kiểm thử chức năng một ứng dụng
- Xác định chức năng liên quan của ứng dụng định kiểm thử
- Tạo dữ liệu test dựa trên yêu cầu của sản phẩm
- Xác định đầu ra dựa trên dữ liệu test và yêu cầu của ứng dụng
- Viết kịch bản và chạy các test case
- So sánh kết quả thực tế và kết quả dựa trên các test case đã viết
Một kiểm thử hiệu quả sẽ áp dụng những bước ở trên cho tất cả các chức năng và nó sẽ đảm bảo nghiêm ngặt các yêu cầu về tiêu chuẩn khi nói đến chất lượng phần mềm
Test đơn vị (Unit Testing)
Loại kiểm thử này được chạy bởi developer trước khi cài đặt để chuyển giao cho đội kiểm thử thực hiện những test case chính thống. Unit test được developer chạy tương ứng cho từng đơn vị mã nguồn. Developer sử dụng bộ dữ liệu kiểm thử từ testcase để đảm bảo chất lượng Mục đích của unit test là cô lập từng phần của chương trình và kiểm tra các bộ phận độc lập đấy đã chính xác theo yêu cầu hay chưa.
Hạn chế của unit test
Kiểm thử không thể tìm được mọi lỗi của ứng dụng. Không thể đánh giá mọi tình huống có thể xảy ra trong chương trình. Điều đó cũng đúng với unit test.Nó bị giới hạn bởi các tình huống và bộ test data mà developer sử dụng để kiểm thử chương trình. Sau khi chạy hết các case xảy ra thì chúng ta buộc phải dùng unit test và tích hợp mã nguồn với các thành phần khác.
Kiểm thử tích hợp (Integration Testing)
Kiểm thử tích hợp được định nghĩa là kiểm tra dựa trên việc kết nối các thành phần của chương trình để xác định xem chức năng đó chạy đúng hay không.
Có hai kiểu : Tích hợp từ dưới đi lên ( Bottom-up integration)và tích hợp đi trên đi xuống (Top-down integration)
Tích hợp từ dưới đi lên: Việc kiểm thử được bắt đầu bằng unit test , sau đó sẽ đi đến level cao hơn đó là kết hợp các thành phần và chức năng của hệ thống.
Tích hợp từ trên đi xuống: Những mô đun cấp cao nhất được thử nghiệm đầu tiên và dần dần, module thấp hơn được thử nghiệm sau đó.Trong một môi trường phát triển phần mềm hiện đại , kiểm thử từ dưới lên thường được thực hiện đầu tiên và sau đó là kiểm thử từ trên xuống. Quá trình này được kết thúc sau nhiều vòng kiểm thử trên ứng dụng hoàn chỉnh, tốt nhất là các kịch bản kiểm thử dựa trên các tình huống thực tế.
Kiểm thử hệ thống (System Testing)
Kiểm thử hệ thống là kiểm thử toàn bộ hệ thống. Một khi toàn bộ thành phần đã được tích hợp, toàn bộ ứng dụng sẽ được kiểm thử một cách nghiêm ngặt để đảm bảo nó đáp ứng được tiêu chuẩn chất lượng. Loại kiểm thử này được thực hiện bởi một đội kiểm thử đặc biệt.
Kiểm thử hệ thống quan trọng bởi các lí do sau
Là bước đầu tiên trong vòng đời phát triển phần mềm nơi mà ứng dụng sẽ được kiểm tra toàn bộ.Ứng dụng sẽ được kiểm thử kĩ để xác minh xem nó có đáp ứng các mô tả về chức năng và kĩ thuật không.
Ứng dụng được kiểm thử trong môi trường gần giống với môi trường thực tế nơi mà sản phẩm sẽ được cài đặt.
Kiểm thử hệ thống cho phép chúng ta kiểm tra, xác minh và xác nhận đồng thời các yêu cầu chức năng và phi chức năng.
Kiểm thử hồi quy: ( Regression testing)
Khi có sự thay đổi trong sản phẩm phầm mềm, có thể một phần khác trong chương trình sẽ bị ảnh hưởng bởi sự thay đổi đó. Kiểm thử này có nhiệm vụ các bug được sửa không là nguyên nhân gây phát sinh ra các bug khác. Mục đích của kiểm thử này để đảm bảo rằng sự thay đổi chả hạn sự sửa chữa lỗi không dẫn đến phát sinh lỗi khác.
Kiểm thử này quan trọng bởi vì:
Giảm thiểu lỗ hổng trong kiểm tra khi ứng dụng đã thay đổi
Kiểm thử những thay đổi mới để xác nhận thay đổi này không ảnh hưởng tới các thành phần khác của chương trình.
Giảm thiểu rủi ro
Chất lượng chương trình được đảm bảo mà không ảnh hưởng đến kế hoạch kiểu.
Tăng đốc độ bàn giao sản phẩm.
Test chấp nhận(Acceptance Testing)
Là loại kiểm thử quan trọng vì nó được thực hiện bởi đội QA đánh giá xem liệu ứng dụng có đáp ứng các thông số kĩ thuật và yêu cầu của khách hàng . Đội QA sẽ tập hợp các kịch bản trước và các test case đó sẽ được sử dụng để kiểm thử ứng dụng.
Nhiều ý tưởng về ứng dụng sẽ được chia sẻ và nhiều test case sẽ được thực hiện trên nó để đánh giá độ chính xác về sản phẩm và lý do tại sao dự án này được thực hiện. Kiểu kiểm thử này không chỉ nhằm mục đích tìm ra các lỗi sai đơn giản mà còn chỉ ra lỗi vì ý tưởng và thiết kế của sản phẩm có thể là nguyên nhân gây ra lỗi về bảo mật gay sập hệ thống.
Bằng cách thực hiện loại kiểm thử trên ,nhóm QA sẽ kết luận được làm thế nào để bàn giao được sản phẩm đồng thời cũng phải lưu ý đến vấn đề hợp đồng và pháp lý của hệ thống.
Test alpha:(Alpha Testing)
Là giai đoạn đàu tiên của kiểm thử được thực hiện trong nội bộ team ( giữa đội dev và đội QA), unit test , test hồi quy, và test hệ thống kết nối với nhau và được gọi chung là test alpha, trong giai đoạn này, những khía cạnh dưới đây sẽ được test :
- Lỗi chính tả
- Link bị chêt
- Định hướng của trang
- Ứng dụng sẽ được kiểm tra với mô tả thấp nhất để kiểm tra thời gian loading và có bị trễ không.
Kiểm thử BETA (Beta Testing)
Loại kiểm thử này được thực hiện sau kiểm thử alpha thành công. Trong kiểm thử beta chúng ta sẽ thực hiện trên sản phẩm mẫu trước khi phát hành sản phẩm. Với sản phẩm mẫu chúng ta có thể phân phối cho nhiều người sử dụng dùng thử và thu thập các ý kiến đánh giá trên diện rộng và người dùng sẽ đưa ra những phản hồi về lỗi đồng thời cung cấp các ý tưởng phát triển tiếp theo của sản phẩm.
Trong giai đoạn này, những người tham gia kiểm thử sẽ làm theo các bước sau:
- Người dùng sẽ được cài đặt phần mềm , chạy ứng dụng và gửi lại phản hồi cho đội dự án.
- Họ sẽ tạo ra lỗi chính tả, làm rối loạn chương trình thậm chí làm chết chương trình.
- Đưa ra phản hồi , đội dự án có thể sửa các lỗi đó trước khi phát hành cho người dùng thực tế.
- Phát hiện và sửa được nhiều lỗi trong giai đoạn này thì chất lượng sản phẩm càng được nâng cao.