Trong vòng tròn phát triển sản phẩm, kiểm thử phần mềm là bước cuối cùng trước khi sản phẩm đến tay khách hàng. Có rất nhiều mức độ khác nhau trong quá trình kiểm thử. Mỗi 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. 

Trong bài viết này chúng ta sẽ tìm hiểu các phương pháp kiểm thử trong kiểm thử chức năng. Mỗi phương pháp kiểm thử có một mục đích cụ thể và cung cấp giá trị cho vòng đời phát triển phần mềm.

Kiểm thử chức năng 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 sẽ đượ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ềm đã 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

  1. Kiểm thử đơ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ừ test case để đả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 đã hoạt động chính xác theo yêu cầu hay chưa.

Kiểm thử theo phương pháp này 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. Nó bị giới hạn bởi các tình huống và bộ dữ liệu test mà developer sử dụng để kiểm thử chương trình. 

  1. Kiểm thử tích hợp (Integration Testing)

Tích hợp có nghĩa là kết hợp. Ví dụ, trong giai đoạn kiểm thử này, các module phần mềm khác nhau được kết hợp và kiểm tra thành một nhóm để đảm bảo rằng hệ thống tích hợp đã sẵn sàng để kiểm thử hệ thống.

Kiểm thử tích hợp kiểm tra luồng dữ liệu từ một module này đến một module khác. Loại kiểm thử này được thực hiện bởi những tester.

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 mức 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 module cấp cao nhất được thử nghiệm đầu tiên rồi đến các module thấp hơn được thử nghiệm.

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à sử dụng các kịch bản kiểm thử dựa trên các tình huống thực tế.

  1. Kiểm thử hệ thống (System Testing)

Kiểm thử hệ thống được thực hiện trên một hệ thống hoàn chỉnh, tích hợp. Nó cho phép kiểm tra sự tuân thủ của hệ thống theo yêu cầu. Loại kiểm thử này kiểm tra sự tương tác tổng thể của các thành phần. Nó liên quan đến tải, hiệu suất, độ tin cậy và kiểm tra bảo mật.

Kiểm thử hệ thống thường xuyên nhất là kiểm tra cuối cùng để xác minh rằng hệ thống đáp ứng các đặc điểm kỹ thuật. Nó đánh giá cả nhu cầu chức năng và phi chức năng để thử nghiệm.

Đây 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.

  1. Kiểm thử chấp nhận (Acceptance Testing)

Kiểm thử chấp nhận là kiểm thử được tiến hành để tìm xem các yêu cầu của đặc điểm kỹ thuật hoặc hợp đồng có được đáp ứng với những yêu cầu của khách hàng hay không. Kiểm thử chấp nhận về cơ bản được thực hiện bởi người dùng hoặc khách hàng. 

Đây 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.