CHƯƠNG 1: NHỮNG NGUYÊN TẮC CƠ BẢN CỦA WEB APPLICATION PERFORMANCE TESTING (PHẦN 1)
MỤC TIÊU: Tìm hiểu Performance Testing là gì Tìm hiểu các hoạt động chính của Performance Testing Tìm hiểu tại sao phải thực hiện Performance Testing Tìm hiểu sự liên kết của bối cảnh dự án để tiền hành Performance testing Tìm hiểu cách điều chỉnh phù hợp với chu kì Performance ...
MỤC TIÊU:
- Tìm hiểu Performance Testing là gì
- Tìm hiểu các hoạt động chính của Performance Testing
- Tìm hiểu tại sao phải thực hiện Performance Testing
- Tìm hiểu sự liên kết của bối cảnh dự án để tiền hành Performance testing
- Tìm hiểu cách điều chỉnh phù hợp với chu kì Performance Testing
TỔNG QUAN:
Performance Testing là một loại kiểm thử nhằm xác định mức độ đáp ứng, băng thông, độ tin cậy và/hoặc khả năng mở rộng của hệ thống dưới một số lượng làm việc nhất định. Performance Testing thường được sử dụng để thực hiện một số điều sau đây:
- Đánh giá mức độ sẵn sàng của sản phẩm
- Đánh giá dựa vào các tiêu chí hiệu suất
- So sánh giữa các đặc tính hiệu suất của đa hệ thống hoặc cấu hình hệ hệ thống
- Tìm ra nguồn gốc của các vấn đề về hiệu suất
- Hỗ trợ điều chỉnh hệ thống
- Tìm các mức độ băng thông
Chương này tập hợp các kiến thức cơ bản làm cơ sở giúp bạn hiểu về Performance Testing, các nguyên tắc thực hiện của nó và cuối cùng là áp dụng thành công vào trong dự án.
SỬ DỤNG CHƯƠNG NÀY NHƯ THẾ NÀO
Sử dụng chương này để hiểu mục đích của Performance Testing và các hoạt động chính mà nó đòi hỏi. Để có được sự hiệu quả nhất từ chương này chúng ta cần:
- Sử dụng "Project Context" để biết được cách để tập trung vào các mục có liên quan trong quá trình thực hiện kiểm thử.
- Sử dụng “Relationship Between Performance Testing and Tuning” để hiểu mối quan hệ giữa kiểm thử và điều chỉnh hiệu suất, và để hiểu được tổn quan về quá trình điều chỉnh hiệu suất.
- Sử dụng "Performance, Load and Stress Testing" để hiểu các loại khác nhau của Performance Testing
- Sử dụng “Baselines” và “Benchmarking” để hiểu những loại phương thức của so sánh hiệu suất mà bạn có thể sử dụng để đánh giá ứng dụng của bạn.
- Sử dụng “Terminology” để hiểu những thuật ngữ thông dụng trong Performance testing giúp thuận lợi cho việc liên kết một cách chính xác trong bối cảnh dự án của bạn.
CÁC HOẠT ĐỘNG CHÍNH TRONG PERFORMANCE TESTING
Performance Testing thường được dùng để giúp xác định tắc nghẽn trong một hệ thống, thiết lập một đường cơ sở để kiểm thử trong tương lai, hỗ trợ điều chỉnh hiệu suất hiệu quả, xác định sự phù hợp mục tiêu và yêu cầu hiệu suất, và thu thập dữ liệu hoạt động liên quan khác để giúp các bên liên quan đưa ra quyết định liên quan đến chất lượng chung của các ứng dụng đang được kiểm thử. Ngoài ra, các kết quả từ việc kiểm thử hiệu suất và phân tích có thể giúp bạn ước tính cấu hình phần cứng cần thiết để hỗ trợ các ứng dụng khi bạn đưa sản phẩm đi vào sử dụng rộng rãi.
p=. Hình 1.1 Các hoạt động chính của kiểm thử hiệu suất
1. Hoạt động 1: Xác định môi trường kiểm thử (Identify the Test Environment)
Xác định môi trường kiểm thử và môi trường sản phẩm được sử dụng, cũng như các công cụ và nguồn lực sẵn có để làm nên nhóm kiểm thử. Các môi trường vật lý bao gồm phần cứng, phần mềm và cấu hình mạng. Có một sự hiểu biết thấu đáo về toàn bộ môi trường kiểm thử ngay từ đầu giúp việc thiết kế và lên kế hoạch kiểm thử hiệu quả hơn và giúp bạn xác định những thách thức kiểm thử đầu tiên trong dự án. Trong một số trường hợp, quá trình này phải được xem xét lại định kỳ trong suốt vòng đời của dự án.
2. Hoạt động 2: Xác định tiêu chí hiệu năng được chấp nhận (Identify Performance Acceptance Criteria)
Xác định thời gian phản hồi, băng thông, các mục đích tận dụng nguồn lực và những hạn chế. Về tổng quan, thời gian phản hồi là mối quan tâm của người dùng, băng thông là mối quan tâm bên khía cạnh kinh doanh và sử dụng nguồn lực là mối quan tâm bên khía cạnh hệ thống. Ngoài ra, xác định các tiêu chí thành công của dự án mà có thể không được liệt kê trong mục tiêu và hạn chế. Ví dụ: Sử dụng các kiểm thử hiệu năng để đánh giá sự kết hợp của các cài đặt cấu hình sẽ dẫn đến các đặc tính hiệu suất tốt nhất.
3. Hoạt động 3: Lập kế hoạch và thiết kế các trường hợp kiểm thử (Plan and Design Tests)
Xác định các kịch bản chính, xác định sự biến thiên giữa các người dùng đại diện và làm thế nào để mô phỏng sự biến đổi đó, xác định dữ liệu kiểm thử và thiết lập các số liệu thu thập được. Đưa các thông tin đó vào một hoặc nhiều mô hình hệ thống để triển khai, thực hiện và phân tích.
4. Hoạt động 4: Cấu hình các môi trường kiểm thử (Configure the Test Environment)
Chuẩn bị môi trường kiểm thử, công cụ và nguồn lực cần thiết để thực hiện mỗi chiến lược như các tính năng, các thành phần sẵn sàng cho việc kiểm thử. Đảm bảo rằng môi trường kiểm thử là công cụ để giám sát nguồn lực khi cần thiết.
5. Hoạt động 5: Thực hiện các thiết kế kiểm thử. (Implement the Test Design)
Phát triển các trường hợp kiểm tra hiệu suất phù hợp với các thiết kế kiểm thử
6. Hoạt động 6: Thực hiện các kiểm thử (Execute the Test)
Chạy và giám sát các kiểm thử. Xác nhận các kiểm thử, dữ liệu kiểm thử và thu thập kết quả. Phân tích các trường hợp đã được xác nhận trong khi giám sát kiểm thử và môi trường kiểm thử.
7. Hoạt động 7: Phân tích các kết quả, báo cáo và kiểm tra lại(Analyze Results, Report, and Retest)
Củng cố và chia sẽ dữ liệu kết quả. Phân tích các dự liệu cá nhân và theo nhóm chưc năng chéo. Đánh giá lại mức độ ưu tiên xác trường hợp kiểm tra còn lại và tái thực hiện khi cần thiết. Khi tất cả các giá trị chỉ số nằm trong giới hạn chấp nhận được, không có cái nào vi phạm giới hạn và tất cả các thông tin mong muốn đã được thu thập, bạn đã hoàn thành kiểm thử.
TẠI SAO PHẢI KIỂM THỬ HIỆU SUẤT
Ở cấp độ cao nhất, kiểm thử hiệu năng gần như luôn được tiến hành để giải quyết một hoặc nhiều rủi ro liên quan tới chi phí, cơ hội hoặc danh tiếng của một công ty. Một số lý do cụ thể hơn cho tiến hành kiểm thử hiệu suất bao gồm:
-
Đánh giá sự sẵn sàng phát hành bởi:
- Cho phép bạn dự đoán hoặc ước tính các đặc tính hiệu suất của một ứng dụng trong sản xuất và đánh giá có hay không thực hiện kiểm tra hiệu suất dựa trên những dự đoán đó. Những dự đoán này cũng có giá trị để các bên liên quan đưa ra quyết định về việc liệu một ứng dụng đã sẵn sàng để phát hành hoặc khả năng xử lý tăng trưởng trong tương lai, hoặc nó cần phải cải thiện hiệu suất/phần cứng trước khi phát hành.
- Cung cấp dữ liệu cho thấy khả năng của người dùng không hài lòng với hiệu suất của hệ thống.
- Cung cấp dữ liệu để hỗ trợ trong việc dự đoán các tổn thất doanh thu hay uy tín thương hiệu do khả năng mở rộng, khả năng ổn định hoặc do người dùng không hài lòng với thời gian phản hồi của ứng dụng.
-
Đánh giá cơ sở hạ tầng:
- Đanh giá sự phù hợp của hiệu suất hiện tại
- Xác định khả năng ổn định
- Xác định năng lực của cơ sở hạ tầng của ứng dụng, cũng như xác định các nguồn lực cần thiết trong tương lai để cung cấp hiệu suất chấp nhận được.
- So sánh cấu hình của các hệ thống khác nhau để xác định hoạt động tốt nhất cho ứng dụng và doanh nghiệp
- Thẩm định việc áp dụng các đặc tính hiệu suất mong muốn trong ràng buộc sử dụng ngân sách nguồn lực.
-
Đánh giá đầy đủ về hiệu suất phần mềm bởi:
- Xác định đặc tính hiệu suất mong muốn của phần mềm trước và sau khi thay đổi.
- Cung cấp các so sánh giữa các đặc tính hiệu suất hiện tại và ứng dụng mong muốn.
-
Nâng cao hiệu quả hoạt động bởi:
- Phân tích hành vi của ứng dụng tại các mức tải khác nhau.
- Xác định các vướng mắt trong việc áp dụng.
- Cung cấp các thông tin liên quan đến tốc độ, khả năng mở rộng và sự ổn định của sản phẩm trước khi phát hành, do đó cho phép bạn đưa ra quyết định về việc khi nào sẽ điều chỉnh hệ thống.
BỐI CẢNH DỰ ÁN (PROJECT CONTEXT)
Đối với một dự án kiểm thử hiệu suất, muốn thành công thì cách tiếp cận để thực hiện kiểm thử hiệu suất và tự kiểm thử phải phù hợp với bối cảnh của dự án. Nếu không thực sự hiểu về bối cảnh dự án, kiểm thử hiệu năng sẽ chỉ tập trung vào một số điểm mà một nhân viên kiểm thử hoặc nhóm nhân viên kiểm thử cho rằng quan trọng, nó sẽ trái ngược với những điểm thực sự rất quan trọng, điều này dẫn đến việc lãng phí thời gian, gây thất vọng và xung đột. Các bối cảnh dự án là không có gì hơn những điều đang có, hoặc có thể trở thành, có liên quan đến sự thành công của dự án. Nó có thể bao gồm một số điều sau, nhưng không giới hạn:
- Tầm nhìn tổng thể hoặc mục đích dự án
- Mục tiêu kiểm thử hiệu suất
- Mức hiệu suất để thành công
- Vòng đời phát triển
- Tiến độ dự án
- Ngân sách dự án
- Các công cụ và môi trường có sẵn
- Các kỹ năng của cá nhân và đội kiểm thử hiệu năng
- Độ ưu tiên của các mục hiệu suất đã biết
- Ảnh hưởng của việc triển khai sản phẩm với chất lượng hiệu suất kém đến việc kinh doanh
Dưới đây là một số ví dụ về các điểm có thể liên quan đến lực ảnh hưởng của kiểm thử hiệu suất trong bối cảnh dự án của bạn:
Tầm nhìn của dự án. Trước khi bắt đầu kiểm thử hiệu suất, đảm bảo rằng bạn hiểu được tầm nhìn dự án hiện tại. Tầm nhìn của dự án là cơ sở cho việc xác định những phần sử dụng kiểm thử hiệu suất là cần thiết và có giá trị. Xem lại tầm nhìn thường xuyên, vì nó có khả năng thay đổi.
Mục đích của hệ thống. Hiểu được mục đích của ứng dụng hoặc hệ thống bạn đang kiểm thử. Điều này sẽ giúp bạn xác định các đặc tính hiệu suất có độ ưu tiên cao nhất mà bạn nên tập trung kiểm thử. Bạn sẽ cần phải biết ý định của hệ thống, kiến trúc phần cứng và phần mềm thực tế đã triển khai, và các đặc tính điển hình của người dùng cuối.
Mong muốn của khách hàng hoặc người dùng. Giữ Mong muốn của khách hàng hoặc người sử dụng luôn nằm trong kế hoạch thực hiện kiểm thử. Hãy nhớ rằng khách hàng hoặc người dùng cảm thấy hài lòng dựa trên sự mong đợi của họ, nó không chỉ đơn giản là phù hợp với các yêu cầu.
Người điều hành kinh doanh. Nắm rõ về điều khiển kinh doanh - chẳng hạn như nhu cầu kinh doanh hoặc cơ hội - những điểm bị hạn chế ở bởi ngân sách, lịch trình hoặc nguồn nhân lực. Điều quan trọng là đáp ứng yêu cầu kinh doanh đúng thời gian và trong phạm vi ngân sách có sẵn.
Lý do thực hiện kiểm thử. Hiểu được lý do phải tiến hành kiểm thử hiệu suất từ sớm trong dự án. Nếu không xác định được điều này có thể dẫn đến việc kiểm thử hiệu suất kém chất lượng. Những lý do này thường nằm ngoài phạm vi danh sách các tiêu chí hiệu suất chập nhận được và các ràng buộc để thay đổi hoặc thay đổi độ ưu tiên trong quá trình phát triển dự án. Vi vậy cần phải xem xét lại thường xuyên như tìm hiểu thêm về các ứng dụng, hiệu quả của nó, và các khách hàng hoặc người sử dụng.
Giá trị mà thực hiện kiểm thử mang lại cho dự án. Hiểu được giá trị dự kiến mà thực hiện kiểm thử sẽ mang lại cho dự án bằng cách đưa các mục tiêu dự án và kinh doanh vào hoạt động kiểm thử hiệu suất cụ thể, dễ nhận biết và dễ quản lý. Phối hợp và ưu tiên cho các hoạt động này để xác định kiểm thử hiệu suất hoạt động có khả năng gia tăng giá trị.
Quản lý dự án và nhân sự. Hiểu tổ chức, hoạt động, và các kỹ thuật thông tin liên lạc của nhóm để tiến hành kiểm thử hiệu suất hiệu quả.
Quy trình. Hiểu quy trình của nhóm và có thể giải thích được làm thế nào áp dụng quy trình đấy vào kiểm thử hiệu suất. Nếu tài liệu quy trình của nhóm không đề cập trực tiếp đến kiểm thử hiệu suất, thì hãy ngoại suy các tài liệu bao gồm kiểm thử hiệu suất bằng tất cả khả năng của bạn, và sau đó xem lại các tài liệu đã được sửa đổi bởi người quản lý dự án và / hoặc kỹ sư.
Tiêu chí tuân thủ. Hiểu được các yêu cầu pháp lý liên quan đến dự án của bạn. Có được tài liệu phù hợp để đảm bảo rằng bạn có ngôn ngữ và bối cảnh cụ thể của bất kỳ câu lệnh nào có liên quan đến việc kiểm thử, nếu như những thông tin này rất quan trọng để xác định việc kiểm thử có tuân theo và đảm bảo sản phẩm phù hợp. Cũng như việc hiểu rằng bản chất của kiểm thử hiệu suất làm cho nó hầu như không thể thực hiện theo các quy trình tương tự đã được phát triển để kiểm thử chức năng.
Tiến độ dự án. Hãy nhận biết thời gian dự án bắt đầu và kết thúc, phần cứng và môi trường khi nào thì sẵn có, sự trôi chảy của xây dựng và phát hành, và bất kỳ điểm, môc quan trọng trong tiến độ dự án.
To be continued...