Việc kiểm thử phần phụ trợ của ứng dụng web là một phần quan trọng trong quá trình phát triển và bất kỳ hoạt động theo dõi liên tục nào. Ngoài ra, hãy xem hoạt động kiểm thử cho giao diện người dùng.
Phát triển dựa trên kiểm thử
Trong phần Phát triển dựa trên hướng dẫn kiểm thử (TDD), các yêu cầu về ứng dụng sẽ được chuyển đổi thành các trường hợp kiểm thử trước khi triển khai hoàn toàn. Trong quá trình phát triển, các kiểm thử này được viết trước và được triển khai liên tiếp khi ứng dụng được tạo. Các yêu cầu rõ ràng (ví dụ: các trường hợp kiểm thử) đảm bảo rằng mã cuối cùng có cấu trúc hợp lý, đáp ứng mọi yêu cầu và chính xác. Điều này đặc biệt quan trọng trong giai đoạn phát triển đầu tiên.
Tích hợp liên tục và kiểm thử tự động
Hoạt động kiểm thử tính năng tích hợp liên tục (CI) sẽ tự động chạy các hoạt động kiểm thử đối với mọi thay đổi về mã, chẳng hạn như trong quá trình xem xét mã hoặc khi mã đã được hợp nhất vào kho lưu trữ mã của bạn. Các bài kiểm thử tự động giúp cải thiện chất lượng và độ tin cậy tổng thể trong mã được gửi bằng cách giảm nguy cơ bị hỏng hoặc hồi quy trong quá trình phát triển. Bạn nên thiết lập một hệ thống kiểm thử tự động cho môi trường của mình để đảm bảo tình trạng của ứng dụng. Sử dụng một hệ thống được hỗ trợ bởi cấu trúc, nền tảng và ngôn ngữ của bạn và được tích hợp liền mạch vào quy trình phát triển của bạn; ví dụ: sử dụng GitHub Actions cho quy trình làm việc CI hoặc một quy trình CI tuỳ chỉnh tích hợp sẵn trên đám mây, được tuỳ chỉnh cho cấu hình của bạn.
Tìm hiểu thêm về các nguyên tắc đằng sau kiểm thử tự động và cách cải thiện bài kiểm thử của bạn. Tìm hiểu thêm về kiểm thử tích hợp liên tục và các phương pháp hay nhất để triển khai, thiết lập và đo lường mức độ thành công.
Bước tiếp theo, hãy cân nhắc sử dụng một quy trình phân phối liên tục (CD) tự động để tự động triển khai các thay đổi và bản cập nhật cho ứng dụng của bạn.
Kiểm thử đơn vị
Kiểm thử đơn vị đề cập đến việc kiểm thử các phần nhỏ, độc lập của mã. Sử dụng một khung kiểm thử đơn vị được đề xuất và phổ biến cho ngôn ngữ hoặc khung phụ trợ của bạn. Ví dụ: đối với ứng dụng dựa trên Java nguyên khối, hãy sử dụng JUnit hoặc đối với ứng dụng không máy chủ dựa trên JavaScript (bao gồm cả Dart hoặc TypeScript), hãy sử dụng khung được tạo để kiểm thử JavaScript, chẳng hạn như Jest.
Hầu hết các khung phụ trợ hiện đại đều có tài nguyên dành riêng cho hoạt động kiểm thử. Hãy cân nhắc việc tích hợp những tính năng này vào quy trình CI để tự động hoá quá trình kiểm thử. Hãy đảm bảo rằng các bài kiểm thử đơn vị của bạn có mức độ bao phủ mã tốt cho ứng dụng. Hầu hết các khung kiểm thử đều cung cấp các tính năng để phân tích và báo cáo về phạm vi kiểm thử cũng như cho phép tích hợp vào quy trình tạo bản dựng của bạn.
Kiểm thử tích hợp
Kiểm thử tích hợp là việc kiểm thử các mô-đun hoặc các phần lớn hơn trong ứng dụng cùng nhau. So với kiểm thử đơn vị (tập trung vào các phần riêng lẻ của mã), quy trình kiểm thử tích hợp tập trung vào việc tích hợp các phần riêng lẻ trong cấu trúc của bạn. Quy trình này cũng có thể bao gồm các quy trình toàn diện bao gồm nhiều bước và mô-đun trên ứng dụng.
Quy trình kiểm thử tích hợp có thể bao gồm nhiều mô-đun của ứng dụng mà có thể yêu cầu tương tác với các dịch vụ bên ngoài, chẳng hạn như lưu trữ dữ liệu, hệ thống tệp hoặc thanh toán. Hãy cân nhắc việc cấu trúc ứng dụng của bạn để hỗ trợ tính năng trừu tượng cho các dịch vụ này thông qua tính năng chèn phần phụ thuộc hoặc các tính năng tương tự do khung phụ trợ của bạn cung cấp.
Kiểm thử hành vi và chức năng
Tiếp cận phần phụ trợ (hoặc các mô-đun hay thành phần riêng lẻ) dưới dạng một hộp mờ, kiểm thử chức năng sẽ tập trung vào đầu vào và đầu ra của hệ thống. Mặc dù việc kiểm thử hành vi có thể phổ biến hơn đối với giao diện người dùng, nhưng nó cũng đóng vai trò quan trọng trong việc xác nhận tính toàn vẹn toàn diện của một hệ thống phụ trợ. Các loại hình kiểm thử này xác nhận rằng hệ thống sẽ phản ứng và hoạt động như dự kiến với các đầu vào khác nhau.
Kiểm thử hồi quy
Kiểm thử hồi quy là các hoạt động kiểm thử xác nhận rằng ứng dụng vẫn hoạt động như dự kiến. Những kiểm thử đã hoàn tất thành công trước đó sẽ được chạy lại cho mọi thay đổi mới để đảm bảo rằng các thay đổi đó không tạo lại bất kỳ vấn đề nào trước đó. Khi lỗi được sửa trong một ứng dụng, bạn nên thêm các kiểm thử đơn vị hoặc kiểm thử tích hợp để đảm bảo lỗi không tái diễn. Bạn nên tích hợp kiểm thử hồi quy vào quy trình kiểm thử thông thường và xây dựng quy trình.
Kiểm tra khói
Kiểm thử khói (còn gọi là kiểm thử xác minh bản dựng) tập trung vào việc xác minh những chức năng quan trọng nhất của ứng dụng phụ trợ. Không chỉ dừng lại ở việc kiểm thử tích hợp, (tóm tắt một số tính năng và phần phụ thuộc bên ngoài), quy trình kiểm thử xác minh bản dựng còn bao gồm các trường hợp sử dụng quan trọng cho ứng dụng của bạn. Việc kiểm thử khói có thể đóng vai trò là một lớp xác minh bổ sung trước khi một ứng dụng được nâng cấp lên môi trường thử nghiệm để đảm bảo hành vi chính xác. Quy trình kiểm tra khói có thể bao gồm kiểm thử đơn vị tự động hoặc kiểm tra chức năng thủ công do nhóm đảm bảo chất lượng thực hiện.
Môi trường sản xuất và thử nghiệm
Môi trường thử nghiệm là bản sao của môi trường sản xuất, được tạo dạng hộp cát để hỗ trợ việc kiểm thử. Việc triển khai chuyên biệt sẽ làm giảm nguy cơ xảy ra sự cố với môi trường sản xuất và giúp bạn dễ dàng đảm bảo chất lượng hơn. Môi trường thử nghiệm cho phép bạn kiểm thử một hệ thống gần với môi trường thực tế thực tế.
Có thể không tạo được bản sao 1:1 của môi trường sản xuất do các yếu tố như chi phí hoặc tính phức tạp của kiến trúc phụ trợ. Hãy cân nhắc xem những phần phụ trợ nào là quan trọng nhất và tối ưu hoá các phần đó cho môi trường thử nghiệm.
Việc kiểm thử dựa trên dữ liệu được dùng trong thực tế mang lại lợi ích lớn cho việc kiểm thử cách ứng dụng hoạt động với dữ liệu trong thực tế. Hãy nhớ cân nhắc các hàm ý về quyền riêng tư và nhu cầu lưu trữ dữ liệu cho môi trường thử nghiệm như vậy, đồng thời thiết kế cẩn thận dữ liệu mà hệ thống phụ trợ của bạn sử dụng. Bạn cần kiểm soát chặt chẽ quyền truy cập vào môi trường như vậy, đặc biệt là khi sử dụng dữ liệu thực tế.
Hãy cân nhắc quy mô của hệ thống và liệu một môi trường cố định có phù hợp với ứng dụng của bạn hay không. Các môi trường thử nghiệm luân phiên có thể tự động triển khai thông qua một hệ thống phân phối liên tục cũng mang lại thêm cơ hội để kiểm thử các bản dựng hằng ngày hoặc hằng tuần, đồng thời xem xét kỹ lưỡng hơn trước khi phát hành.
Một phương pháp khác là phụ thuộc nhiều hơn vào các quy trình kiểm thử tích hợp liên tục và hệ thống tự động thay vì môi trường thử nghiệm được triển khai đầy đủ. Xem xét quy trình làm việc, tình trạng hệ thống, mức độ sử dụng mã và các yêu cầu kỹ thuật của nhóm.