CHƯƠNG 4: CÁC HOẠT ĐỘNG CHÍNH CỦA KIỂM THỬ HIỆU SUẤT TRÊN CÁC ỨNG DỤNG WEB (PHẦN 3)
HOẠT ĐỘNG 5. TRIỂN KHAI CÁC THIẾT KẾ KIỂM THỬ (IMPLEMENT THE TEST DESIGN) Các chi tiết của việc tạo ra một thử nghiệm hiệu suất có thể thực thi được là công cụ đặc biệt. Bất kể công cụ mà bạn đang sử dụng, việc tạo ra một thử nghiệm hiệu suất thường bao gồm một kịch bản sử dụng đơn lẻ, sau đó ...
HOẠT ĐỘNG 5. TRIỂN KHAI CÁC THIẾT KẾ KIỂM THỬ (IMPLEMENT THE TEST DESIGN) Các chi tiết của việc tạo ra một thử nghiệm hiệu suất có thể thực thi được là công cụ đặc biệt. Bất kể công cụ mà bạn đang sử dụng, việc tạo ra một thử nghiệm hiệu suất thường bao gồm một kịch bản sử dụng đơn lẻ, sau đó tăng cường kịch bản đó và kết hợp nó với các kịch bản khác để đại diện cho mô hình lượng công việc hoàn thiện.
Các công Load-generation chắc chắn không tránh khỏi sự tụt hậu so với sự phát triển công nghệ và thực tiễn. Người tạo công cụ chỉ có thể xây dựng để hỗ trợ cho các công nghệ nổi bật nhất và thậm chí sau đó chúng phải trở nên nổi bật trước khi có thể xây dựng hỗ trợ. Điều này thường mang ý nghĩa như một thách thức lớn nhất liên quan đến một dự án kiểm thử hiệu suất mà kiểm thử thực tế đầu tiên tương đối của bạn sẽ được thực hiên với người dùng được mô phỏng theo nhiều cách như là ứng dụng được kiểm tra không hợp pháp cho biết sự khác biệt giữa người dùng mô phỏng và người dùng thực. Hãy lên kế hoạch cho điều này và đừng ngạc nhiên khi mất nhiều thời gian hơn dự kiến để làm cho nó hoạt động trơn tru.
Cân Nhắc: Xem xét các điểm chính sau đây khi thực hiện thiết kế kiểm thử:
- Đảm bảo rằng nguồn cấp dữ liệu thử nghiệm được thực hiện chính xác. Thử nghiệm nguồn cấp dữ liệu là kho dữ liệu dưới dạng cơ sở dữ liệu, tệp văn bản, biến trong bộ nhớ hoặc bảng tính được sử dụng để mô phỏng thay thế tham số trong quá trình kiểm tra tải. Ví dụ: ngay cả khi kho chứa bài kiểm tra cơ sở dữ liệu ứng dụng có chứa bộ sản phẩm đầy đủ, thử nghiệm tải của bạn chỉ có thể mô phỏng tập con của các sản phẩm do người dùng mua bởi một tình huống liên quan đến, ví dụ như sản phẩm mới hoặc chiến dịch quảng bá. Thử nghiệm nguồn cấp dữ liệu có thể là tập hợp con của các kho dữ liệu sản xuất.
- Đảm bảo rằng nguồn cấp dữ liệu ứng dụng được thực hiện chính xác trong cơ sở dữ liệu và các thành phần ứng dụng khác. Nguồn cấp dữ liệu ứng dụng là kho dữ liệu, chẳng hạn như cơ sở dữ liệu sản phẩm hoặc đặt hàng, được tiêu thụ bởi ứng dụng đang được thử nghiệm. Các kịch bản người dùng chính, chạy bởi các kịch bản kiểm thử lượng tải có thể tiêu thụ một tập hợp con của dữ liệu này.
- Đảm bảo rằng xác nhận hợp lệ các giao dịch được thực hiện chính xác. Nhiều giao dịch được báo cáo thành công bởi máy chủ Web, nhưng họ không hoàn thành chính xác. Ví dụ về xác nhận là các mục cơ sở dữ liệu được chèn vào đúng số hàng, thông tin sản phẩm được trả về, đúng nội dung trả về dữ liệu html cho khách hàng...
- Đảm bảo các trường ẩn hoặc các dữ liệu đặc biệt khác được xử lý chính xác. Điều này đề cập đến dữ liệu trả về bởi máy chủ Web cần được gửi lại trong yêu cầu tiếp theo, như ID session hoặc ID sản phẩm cần được tăng lên trước khi chuyển nó tới yêu cầu tiếp theo.
- Xác nhận việc theo dõi các chỉ số hoạt động chính (KPIs).
- Thêm các chỉ số thích hợp để dễ dàng diễn đạt hiệu quả kinh doanh.
- Nếu yêu cầu chấp nhận các tham số, hãy đảm bảo rằng dữ liệu tham số được nhập chính xác với các biến và / hoặc dữ liệu duy nhất để tránh việc lưu trữ trên máy chủ
- Nếu công cụ không tự động làm như vậy, hãy xem xét thêm một trình bao bọc xung quanh các yêu cầu trong tập lệnh kiểm tra để đo thời gian đáp ứng yêu cầu.
- Nói chung bạn cần dành thời gian để làm cho kịch bản phù hợp với kiểm thử được thiết kế của bạn thay vì thay đổi kiểm thử được thiết kế để tiết kiệm thời gian viết kịch bản.
- Giá trị đáng kể có thể thu được từ việc đánh giá dữ liệu đầu ra thu thập từ cuộc kiểm thử được thực hiện dựa trên mong đợi để kiểm tra hoặc xác nhận sự phát triển kịch bản.
HOẠT ĐỘNG 6. THỰC THI KIỂM THỬ (EXCUTE THE TEST)
Thực hiện các kiểm thử là điều mà hầu hết mọi người hình dung khi họ nghĩ về kiểm thử hiệu suất. Điều đó hợp thức hóa các quá trình, luồng, và các chi tiết kỹ thuật của việc thực hiện kiểm thử là phụ thuộc vào các công cụ, môi trường, và bối cảnh dự án của bạn. Mặc dù vậy, có một số phần việc khá phổ biến và cân nhắc cần lưu ý khi thực hiện các kiểm thử.
Phần lớn các kiểm thử liên quan về hiệu suất hiện nay xử lý việc thực hiện kiểm thử ít hơn việc bắt đầu thử nghiệm và giám sát nó để đảm bảo rằng thử nghiệm dường như đang chạy như mong đợi. Trong thực tế, hoạt động này phức tạp hơn nhiều so với chỉ cần nhấp vào một nút và theo dõi máy móc. Thử nghiệm thực hiện có thể được xem như một sự kết hợp của các nhiệm vụ phụ sau đây:
- Phối hợp thực hiện kiểm thử và giám sát với nhóm.
- Xác nhận thử nghiệm, cấu hình, và trạng thái của môi trường và dữ liệu.
- Bắt đầu thực hiện kiểm thử.
- Trong khi thử nghiệm đang chạy, giám sát và xác nhận các kịch bản, hệ thống và dữ liệu.
- Khi hoàn thành thử nghiệm, hãy nhanh chóng xem xét các kết quả cho các dấu hiệu rõ ràng rằng bài thử nghiệm đã xảy ra lỗi.
- Lưu trữ các kiểm thử, dữ liệu thử nghiệm, kết quả, và các thông tin khác cần thiết để lặp lại kiểm thử sau nếu cần thiết.
- Đăng nhập và kết thúc lần, tên của dữ liệu kết quả, và như vậy. Điều này sẽ cho phép bạn xác định dữ liệu của bạn một cách tuần tự sau khi thử nghiệm của bạn được thực hiện.
Khi bạn chuẩn bị để bắt đầu thực hiện kiểm thử, bạn nên dành thời gian để kiểm tra kỹ các mục sau:
- Xác nhận rằng môi trường thử nghiệm phù hợp với cấu hình mà bạn mong đợi và / hoặc thiết kế thử nghiệm của bạn.
- Đảm bảo rằng cả cuộc thử nghiệm và môi trường thử nghiệm được định cấu hình chính xác để thu thập số liệu.
- Trước khi chạy thử thực tế, hãy thực hiện "Smoke Test" nhanh để đảm bảo rằng tập lệnh thử nghiệm và các bộ đếm hiệu suất từ xa hoạt động đúng. Trong kiểm thử hiệu suất, "smoke test" được thiết kế để xác định xem ứng dụng của bạn có thể thực hiện thành công tất cả các hoạt động của nó trong một điều kiện tải thông thường trong một thời gian ngắn hay không
- Đặt lại hệ thống (trừ khi kịch bản của bạn yêu cầu làm khác) và bắt đầu thực hiện kiểm thử chính thức.
- Đảm bảo rằng việc thực thi các tập lệnh thử nghiệm thể hiện mô hình khối lượng công việc mà bạn muốn mô phỏng.
- Đảm bảo rằng cuộc thử nghiệm được định cấu hình để thu thập các thông số và các chỉ số kinh doanh quan trọng tại thời điểm này.
Cân Nhắc Xem xét các điểm chính sau đây khi thực hiện kiểm thử:
- Xác nhận thử nghiệm hợp lệđể cập nhật dữ liệu, chẳng hạn như các đơn đặt hàng trong cơ sở dữ liệu đã được hoàn thành.
- Xác nhận tập lệnh thử nghiệm tải đang sử dụng các giá trị dữ liệu chính xác, chẳng hạn như mã định danh sản phẩm và đặt hàng, để mô phỏng thực tế tình huống kinh doanh.
- Bất cứ khi nào có thể, hãy hạn chế các chu kỳ thực hiện thử nghiệm từ một đến hai ngày. Xem lại và thay đổi lại sau mỗi chu kỳ.
- Nếu có thể, hãy thực hiện mọi thử nghiệm ba lần. Lưu ý rằng kết quả của các lần thử nghiệm đầu có thể bị ảnh hưởng bởi việc tải Thư viện liên kết động (DLL), tải các bộ đệm phía máy chủ hoặc khởi tạo các tập lệnh và các tài nguyên khác theo yêu cầu của mã đang thử. Nếu kết quả của lần lặp lại thứ hai và thứ ba không tương tự nhau, hãy thực hiện lại thử nghiệm. Hãy thử xác định yếu tố nào tạo nên sự khác biệt đó.
- Theo dõi thử nghiệm của bạn trong quá trình thực hiện và chú ý đến bất kỳ hiện tượng nào bạn cảm thấy là bất thường. Bản năng của bạn thường đúng, hoặc ít nhất các chỉ số có giá trị.
- Cho dù quá trình thử nghiệm đã được tiến hành đến đâu đi nữa, hãy cảnh báo cho nhóm 30 phút và 5 phút trước khi bắt đầu thử nghiệm (hoặc bắt đầu thử nghiệm trong ngày) nếu bạn đang sử dụng môi trường thử nghiệm chia sẻ. Thêm vào đó, thông báo cho nhóm bất cứ khi nào bạn sẽ không được thực hiện trong hơn một giờ liên tiếp để bạn không cản trở việc hoàn thành nhiệm vụ của họ.
- Không xử lý dữ liệu, viết báo cáo, hoặc vẽ sơ đồ trên máy tạo tải của bạn trong khi tạo ra một tải, bởi vì điều này có thể làm lệch các kết quả thử nghiệm của bạn.
- Tắt bất kỳ hoạt động quét virus nào trên các máy tạo tải trong quá trình kiểm thử để giảm thiểu khả năng vô ý làm lệch các kết quả thử nghiệm.
- Trong khi tải được tạo ra, hãy truy cập hệ thống bằng tay từ máy bên ngoài môi trường tải trọng trong suốt quá trình thực hiệ thử nghiệm để bạn có thể so sánh các quan sát của mình với dữ liệu kết quả vào một thời điểm sau.
- Hãy nhớ để mô phỏng thời gian lên xuống và giảm nhiệt một cách hợp lý.
- Đừng vứt bỏ lần lặp đầu tiên bởi vì biên dịch tập lệnh của ứng dựng, xây dựng bộ nhớ cache máy chủ Web, hoặc các lý do tương tự khác. Thay vào đó, hãy đo lường sự lặp lại này một cách riêng biệt để bạn sẽ biết người dùng đầu tiên sau khi khởi động lại hệ thống có thể mong đợi.
- Thực hiện thử nghiệm là không bao giờ thực sự hoàn thành, nhưng cuối cùng bạn sẽ đạt được một điểm giảm dần lợi nhuận trên một thử nghiệm cụ thể. Khi bạn ngừng nhận được thông tin có giá trị, chuyển sang các thử nghiệm khác.
- Nếu bạn cảm thấy bạn không đạt được tiến bộ trong việc hiểu một vấn đề được quan sát, có thể hiệu quả hơn để loại bỏ một hoặc nhiều biến hoặc các nguyên nhân tiềm ẩn và sau đó chạy thử lại.
HOẠT ĐỘNG 7. PHÂN TÍCH KẾT QUẢ, BÁO CÁO VÀ THỬ LẠI (ANALYZE RESULTS, REPORT AND RETEST) Các nhà quản lý và các bên liên quan cần nhiều hơn những kết quả từ các thử nghiệm khác nhau - họ cần kết luận, cũng như các dữ liệu hợp nhất hỗ trợ những kết luận đó. Các thành viên nhóm kỹ thuật cũng cần nhiều hơn là chỉ có các kết quả - họ cần phân tích, so sánh và chi tiết về kết quả thu được. Thành viên nhóm của tất cả các loại nhận được giá trị từ kết quả thực hiện được chia sẻ thường xuyên hơn. Trước khi có thể báo cáo kết quả, dữ liệu phải được phân tích. Xem xét các điểm quan trọng sau đây khi phân tích dữ liệu được trả về bởi kiểm thử hiệu suất của bạn:
- Phân tích dữ liệu riêng lẻ và như một phần của nhóm kỹ thuật hợp tác, đa chức năng.
- Phân tích các dữ liệu đã được lấy và so sánh các kết quả so với mức chấp nhận được hoặc mong đợi của chỉ số để xác định xem hiệu suất của ứng dụng đang được thử nghiệm cho thấy một xu hướng hướng tới hoặc đi xa các mục tiêu hiệu suất
- Nếu thử nghiệm không thành công, một hoạt động chẩn đoán và điều chỉnh thường nói chung sẽ được bảo đảm.
- Nếu bạn khắc phục bất kỳ tắc nghẽn, lặp lại các thử nghiêm để xác nhận đã được sửa chữa.
- Kết quả kiểm tra hiệu suất thường sẽ cho phép nhóm phân tích các thành phần ở mức độ sâu và tương quan thông tin với thực tế với thiết kế thử nghiệm và phân tích sử dụng phù hợp.
- Kết quả kiểm thử hiệu suất nên cho phép thông báo đên các quyết định về cấu trúc và kinh doanh
- Thông thường, phân tích sẽ cho thấy rằng, để hoàn toàn hiểu các kết quả của một thử nghiệm cụ thể, các số liệu bổ sung sẽ cần phải được ghi lại trong các chu kỳ thực hiện thử nghiệm tiếp theo.
- Chia sẻ kết quả thử nghiệm ngay lập tức và cung cấp dữ liệu thô cho toàn bộ nhóm của bạn.
- Nói chuyện với người tiêu dùng về dữ liệu để xác nhận rằng việc kiểm thử đã đạt được kết quả mong muốn và dữ liệu có ý nghĩa như những gì bạn nghĩ nói phải là.
- Sửa đổi thử nghiệm để có được thông tin mới, tốt hơn hoặc khác nhau nếu kết quả không đại diện cho những gì đã được xác định mục đích.
- Sử dụng kết quả hiện tại để đặt các ưu tiên cho thử nghiệm tiếp theo.
- Thu thập số liệu thường tạo ra lượng dữ liệu rất lớn. Mặc dù muốn giảm lượng dữ liệu, nhưng luôn thận trọng khi sử dụng các kỹ thuật giảm dữ liệu vì dữ liệu có giá trị có thể bị mất.
Hầu hết các báo cáo rơi vào một trong hai loại sau:
- Báo cáo kỹ thuật:
- Mô tả thử nghiệm, bao gồm mô hình khối lượng công việc và môi trường thử nghiệm
- Dữ liệu dễ hiểu với các phân tích tối thiếu
- Truy cập vào bộ dữ liệu hoàn chỉnh và điều kiện thử nghiệm
- Báo cáo ngắn về quan sát, mối quan tâm, câu hỏi và yêu cầu hợp tác.
- Báo cáo của các bên liên quan:
- Các tiêu chí mà các kết quả liên quan.
- Trực quan, hình ảnh đại diện của các dữ liệu có liên quan nhất.
- Tóm lược ngắn gọn bằng lời nói thông qua biểu đồ hoặc đồ thị về tiêu chí.
- Trực quan, hình ảnh đại diện của mô hình khối lượng công việc và môi trường thử nghiệm.
- Truy cập vào các báo cáo kỹ thuật liên quan, bộ dữ liệu hoàn chỉnh và điều kiện thử nghiệm.
- Tóm lược các quan sát, mối quan tâm và khuyến nghị.
Mấu chốt của việc báo cáo hiệu quả là đưa ra các thông tin quan tâm đến đối tượng mục tiêu một cách nhanh chóng, đơn giản và trực quan. Dưới đây là một số nguyên tắc cơ bản để đạt được các báo cáo hiệu quả:
- Báo cáo sớm, báo cáo thường xuyên
- Báo cáo trực quan
- Báo cáo trực giác
- Sử dụng thống kê đúng.
- Hợp nhất dữ liệu chính xác.
- Tóm tắt dữ liệu một cách hiệu quả.
- Tùy chỉnh cho đối tượng dự định.
- Sử dụng các bài tóm tắt bằng lời ngắn gọn, sử dụng ngôn ngữ mạnh mẽ nhưng thực tế.
- Cung cấp dữ liệu cho các bên liên quan.
- Lọc ra bất kỳ dữ liệu không cần thiết nào.
- Nếu báo cáo kết quả trung gian, bao gồm các ưu tiên, mối quan tâm và khối lượng cho một vài chu kỳ thực hiện kiểm tra tiếp theo.
TÓM LƯỢT Kiểm thử hiệu suất bao gồm một tập hợp các hoạt động cốt lõi chung xảy ra ở các giai đoạn khác nhau của dự án. Mỗi hoạt động có đặc điểm và nhiệm vụ cụ thể cần hoàn thành. Các hoạt động này đã được chứng minh là có mặt hoặc ít nhất cũng là một phần của quyết định chủ động, dựa trên rủi ro để bỏ qua một trong các hoạt động - trong mọi dự án thử nghiệm thành công và cố ý mà các tác giả và người đánh giá đã trải qua. Điều quan trọng là phải hiểu từng hoạt động cụ thể và sau đó áp dụng các hoạt động theo cách thích hợp nhất với ngữ cảnh của dự án.