Hướng dẫn kiểm tra hiệu suất
Kiểm tra hiệu suất là gì?
Kiểm tra năng suất là một quy trình kiểm thử phần mềm được sử dụng để kiểm tra tốc độ, thời gian phản hồi, độ ổn định, độ tin cậy, khả năng mở rộng và mức sử dụng tài nguyên của ứng dụng phần mềm trong một khối lượng công việc cụ thể. Mục đích chính của kiểm tra hiệu suất là xác định và loại bỏ các tắc nghẽn về hiệu suất trong ứng dụng phần mềm. Nó là một tập hợp con của kỹ thuật hiệu suất và còn được gọi là “Thử nghiệm hoàn hảo”.
Trọng tâm của Kiểm tra hiệu suất là kiểm tra chương trình phần mềm
- Tốc độ – Xác định xem ứng dụng có phản hồi nhanh hay không
- khả năng mở rộng – Xác định tải người dùng tối đa mà ứng dụng phần mềm có thể xử lý.
- Tính ổn định – Xác định xem ứng dụng có ổn định dưới các mức tải khác nhau hay không
Tại sao phải kiểm tra hiệu suất?
Các tính năng và chức năng được hệ thống phần mềm hỗ trợ không phải là mối quan tâm duy nhất. Hiệu suất của ứng dụng phần mềm, như thời gian phản hồi, độ tin cậy, mức sử dụng tài nguyên và khả năng mở rộng, đều rất quan trọng. Mục tiêu của Kiểm tra hiệu suất không phải là tìm lỗi mà là loại bỏ các tắc nghẽn về hiệu suất.
Kiểm thử hiệu suất được thực hiện để cung cấp cho các bên liên quan thông tin về ứng dụng của họ liên quan đến tốc độ, tính ổn định và khả năng mở rộng. Quan trọng hơn, Kiểm thử hiệu suất phát hiện ra những gì cần được cải thiện trước khi sản phẩm được đưa ra thị trường. Nếu không có Kiểm thử hiệu suất, phần mềm có thể gặp phải các vấn đề như: chạy chậm khi nhiều người dùng sử dụng cùng lúc, không nhất quán trên các hệ điều hành khác nhau và khả năng sử dụng kém.
Kiểm tra hiệu suất sẽ xác định xem phần mềm của họ có đáp ứng các yêu cầu về tốc độ, khả năng mở rộng và độ ổn định trong khối lượng công việc dự kiến hay không. Các ứng dụng được gửi ra thị trường với số liệu hiệu suất kém do không tồn tại hoặc kiểm tra hiệu suất kém có thể bị mang tiếng xấu và không đạt được mục tiêu bán hàng dự kiến.
Cũng thế, các ứng dụng quan trọng như các chương trình phóng vào không gian hoặc thiết bị y tế cứu sinh cần được kiểm tra hiệu suất để đảm bảo chúng hoạt động trong thời gian dài mà không bị sai lệch.
Theo Dunn & Bradstreet, 59% công ty Fortune 500 phải trải qua khoảng 1.6 giờ ngừng hoạt động mỗi tuần. Xem xét một công ty Fortune 500 trung bình với tối thiểu 10,000 nhân viên đang trả 56 đô la mỗi giờ, phần lao động của chi phí ngừng hoạt động đối với một tổ chức như vậy sẽ là 896,000 đô la hàng tuần, tương đương hơn 46 triệu đô la mỗi năm.
Chỉ một Thời gian ngừng hoạt động 5 phút của Google.com (19/13/XNUMX) ước tính khiến gã khổng lồ tìm kiếm phải trả giá bằng $ 545,000.
Người ta ước tính rằng các công ty bị mất giá trị doanh thu $ 1100 mỗi giây do gần đây Amazon Dịch vụ Web ngừng hoạt động.
Do đó, kiểm tra hiệu suất là quan trọng. Để giúp bạn trong quá trình này, hãy xem danh sách công cụ kiểm tra hiệu suất.
Các loại kiểm tra hiệu suất
Có sáu loại kiểm thử hiệu suất chủ yếu trong kiểm thử phần mềm, được giải thích dưới đây.
- Kiểm tra tải – kiểm tra khả năng hoạt động của ứng dụng dưới mức tải dự kiến của người dùng. Mục tiêu là xác định các điểm nghẽn về hiệu suất trước khi ứng dụng phần mềm đi vào hoạt động.
- Bài kiểm tra về áp lực – liên quan đến việc thử nghiệm một ứng dụng với khối lượng công việc cực lớn để xem cách ứng dụng xử lý lưu lượng truy cập hoặc xử lý dữ liệu cao. Mục tiêu là xác định điểm đột phá của ứng dụng.
- Kiểm tra độ bền - được thực hiện để đảm bảo phần mềm có thể xử lý tải dự kiến trong một khoảng thời gian dài.
- Thử nghiệm đột biến – kiểm tra phản ứng của phần mềm trước những đột biến lớn đột ngột về tải do người dùng tạo ra.
- Kiểm tra khối lượng – Theo Kiểm tra khối lượng lớn không. của. Dữ liệu được đưa vào cơ sở dữ liệu và hành vi tổng thể của hệ thống phần mềm được theo dõi. Mục tiêu là kiểm tra hiệu suất của ứng dụng phần mềm với các khối lượng cơ sở dữ liệu khác nhau.
- Kiểm tra khả năng mở rộng – Mục tiêu của kiểm tra khả năng mở rộng là xác định tính hiệu quả của ứng dụng phần mềm trong việc “mở rộng quy mô” để hỗ trợ tăng tải người dùng. Nó giúp lập kế hoạch bổ sung dung lượng cho hệ thống phần mềm của bạn.
Các vấn đề về hiệu suất thường gặp
Hầu hết các vấn đề về hiệu suất đều xoay quanh tốc độ, thời gian phản hồi, thời gian tải và khả năng mở rộng kém. Tốc độ thường là một trong những thuộc tính quan trọng nhất của ứng dụng. Một ứng dụng chạy chậm sẽ mất đi người dùng tiềm năng. Kiểm thử hiệu suất đảm bảo ứng dụng chạy đủ nhanh để giữ được sự chú ý và hứng thú của người dùng. Hãy xem danh sách các vấn đề về hiệu suất phổ biến sau đây và lưu ý tốc độ là một yếu tố chung trong nhiều vấn đề trong số đó:
- Thời gian tải lâu – Thời gian tải thường là thời gian đầu tiên để ứng dụng khởi động. Điều này thường nên được giữ ở mức tối thiểu. Mặc dù một số ứng dụng không thể tải dưới một phút nhưng thời gian tải nên được giữ dưới vài giây nếu có thể.
- Thời gian phản hồi kém – Thời gian phản hồi là thời gian kể từ khi người dùng nhập dữ liệu vào ứng dụng cho đến khi ứng dụng đưa ra phản hồi cho đầu vào đó. Nói chung, điều này sẽ rất nhanh chóng. Một lần nữa, nếu người dùng phải đợi quá lâu, họ sẽ mất hứng thú.
- Khả năng mở rộng kém – Một sản phẩm phần mềm có khả năng mở rộng kém khi nó không thể đáp ứng được số lượng người dùng dự kiến hoặc khi nó không đáp ứng đủ phạm vi người dùng. Kiểm tra Tải nên được thực hiện để chắc chắn rằng ứng dụng có thể đáp ứng được số lượng người dùng dự kiến.
- Tắc nghẽn – Nút thắt cổ chai là những vật cản trong hệ thống làm suy giảm hiệu suất tổng thể của hệ thống. Tắc nghẽn là khi lỗi mã hóa hoặc sự cố phần cứng làm giảm thông lượng dưới một số tải nhất định. Tắc nghẽn thường do một phần mã bị lỗi gây ra. Chìa khóa để khắc phục sự cố tắc nghẽn là tìm phần mã gây ra tình trạng chậm và cố gắng khắc phục nó ở đó. Tắc nghẽn thường được khắc phục bằng cách sửa các quy trình chạy kém hoặc bổ sung thêm Phần cứng. Một số tắc nghẽn hiệu suất phổ biến đang
- Sử dụng CPU
- Sử dụng bộ nhớ
- Sử dụng mạng
- Operating Hạn chế của hệ thống
- Sử dụng đĩa
Cách thực hiện kiểm tra hiệu suất
Phương pháp được áp dụng để kiểm tra hiệu suất có thể khác nhau nhưng mục tiêu của kiểm tra hiệu suất vẫn giống nhau. Nó có thể giúp chứng minh rằng hệ thống phần mềm của bạn đáp ứng các tiêu chí hiệu suất được xác định trước. Hoặc nó có thể giúp so sánh hiệu suất của hai hệ thống phần mềm. Nó cũng có thể giúp xác định các phần trong hệ thống phần mềm của bạn làm giảm hiệu suất của nó.
Dưới đây là quy trình chung về cách thực hiện kiểm tra hiệu suất
Bước 1) Xác định môi trường thử nghiệm của bạn
Biết môi trường thử nghiệm vật lý, môi trường sản xuất và các công cụ thử nghiệm có sẵn. Hiểu chi tiết về cấu hình phần cứng, phần mềm và mạng được sử dụng trong quá trình thử nghiệm trước khi bạn bắt đầu quá trình thử nghiệm. Điều này sẽ giúp người thử nghiệm tạo ra các thử nghiệm hiệu quả hơn. Nó cũng sẽ giúp xác định những thách thức có thể gặp phải trong quá trình thử nghiệm hiệu suất.
Bước 2) Xác định tiêu chí chấp nhận hiệu suất
Điều này bao gồm các mục tiêu và ràng buộc về thông lượng, thời gian phản hồi và phân bổ nguồn lực. Cũng cần xác định các tiêu chí thành công của dự án ngoài những mục tiêu và ràng buộc này. Người kiểm thử nên được trao quyền để đặt ra các tiêu chí và mục tiêu hiệu suất vì thông thường các thông số kỹ thuật của dự án sẽ không bao gồm đủ nhiều tiêu chuẩn hiệu suất. Đôi khi có thể không có gì cả. Khi có thể, hãy tìm một ứng dụng tương tự để so sánh là một cách hay để đặt mục tiêu hiệu suất.
Bước 3) Lập kế hoạch và kiểm tra hiệu suất thiết kế
Xác định mức độ sử dụng có thể khác nhau giữa những người dùng cuối và xác định các tình huống chính để kiểm tra tất cả các trường hợp sử dụng có thể xảy ra. Cần phải mô phỏng nhiều loại người dùng cuối, lập kế hoạch dữ liệu kiểm tra hiệu suất và phác thảo những số liệu nào sẽ được thu thập.
Bước 4) Cấu hình môi trường thử nghiệm
Chuẩn bị môi trường thử nghiệm trước khi thực hiện. Ngoài ra, hãy sắp xếp các công cụ và các nguồn lực khác.
Bước 5) Thực hiện thiết kế thử nghiệm
Tạo các bài kiểm tra hiệu suất theo thiết kế bài kiểm tra của bạn.
Bước 6) Chạy thử nghiệm
Thực hiện và theo dõi các bài kiểm tra.
Bước 7) Phân tích, điều chỉnh và kiểm tra lại
Tổng hợp, phân tích và chia sẻ kết quả kiểm tra. Sau đó tinh chỉnh và kiểm tra lại xem hiệu suất có cải thiện hay giảm sút không. Vì các cải tiến thường nhỏ dần sau mỗi lần kiểm tra lại nên hãy dừng lại khi CPU gây ra hiện tượng tắc nghẽn cổ chai. Sau đó, bạn có thể cân nhắc tùy chọn tăng sức mạnh CPU.
Số liệu kiểm tra hiệu suất: Các thông số được theo dõi
Các thông số cơ bản được theo dõi trong quá trình kiểm tra hiệu suất bao gồm:
- Cách sử dụng bộ xử lý – lượng thời gian bộ xử lý dành ra để thực thi các luồng không nhàn rỗi.
- Sử dụng bộ nhớ – lượng bộ nhớ vật lý có sẵn cho các tiến trình trên máy tính.
- Thời gian đĩa – khoảng thời gian đĩa bận thực hiện yêu cầu đọc hoặc ghi.
- Băng thông - hiển thị số bit trên giây được sử dụng bởi giao diện mạng.
- Byte riêng tư – số byte mà một tiến trình đã phân bổ không thể chia sẻ giữa các tiến trình khác. Chúng được sử dụng để đo lường rò rỉ bộ nhớ và mức sử dụng.
- Bộ nhớ được cam kết – lượng bộ nhớ ảo được sử dụng.
- Trang bộ nhớ/giây – số trang được ghi vào hoặc đọc từ đĩa để giải quyết lỗi trang cứng. Lỗi trang cứng là khi mã không thuộc nhóm làm việc hiện tại được gọi lên từ nơi khác và được lấy từ đĩa.
- Lỗi trang/giây – tốc độ chung trong đó các trang lỗi được bộ xử lý xử lý. Điều này lại xảy ra khi một tiến trình yêu cầu mã từ bên ngoài tập làm việc của nó.
- CPU bị gián đoạn mỗi giây - là số lượng trung bình các ngắt phần cứng mà bộ xử lý tiếp nhận và xử lý mỗi giây.
- Độ dài hàng đợi đĩa – là số lượng trung bình các yêu cầu đọc và ghi được xếp hàng cho đĩa được chọn trong một khoảng thời gian lấy mẫu.
- Độ dài hàng đợi đầu ra mạng – độ dài của hàng đợi gói đầu ra trong các gói. Bất cứ điều gì nhiều hơn hai có nghĩa là cần phải dừng lại sự chậm trễ và tắc nghẽn.
- Tổng số byte mạng mỗi giây – tốc độ byte được gửi và nhận trên giao diện bao gồm các ký tự đóng khung.
- Thời gian đáp ứng - thời gian từ khi người dùng nhập yêu cầu cho đến khi nhận được ký tự đầu tiên của phản hồi.
- Thông lượng – đánh giá máy tính hoặc mạng nhận được yêu cầu mỗi giây.
- Lượng kết nối gộp – số lượng yêu cầu của người dùng được đáp ứng bởi các kết nối gộp. Càng nhiều yêu cầu được đáp ứng bởi các kết nối trong nhóm thì hiệu suất sẽ càng tốt.
- Phiên hoạt động tối đa – số lượng phiên tối đa có thể hoạt động cùng một lúc.
- Tỷ lệ trúng đích – Điều này có liên quan đến số lượng SQL các câu lệnh được xử lý bằng dữ liệu được lưu trong bộ nhớ đệm thay vì các thao tác I/O tốn kém. Đây là nơi tốt để bắt đầu giải quyết các vấn đề tắc nghẽn.
- Lượt truy cập mỗi giây – cái không. số lần truy cập trên máy chủ web trong mỗi giây của quá trình kiểm tra tải.
- Phân đoạn quay lui – lượng dữ liệu có thể khôi phục tại bất kỳ thời điểm nào.
- Khóa cơ sở dữ liệu – việc khóa các bảng và cơ sở dữ liệu cần được theo dõi và điều chỉnh cẩn thận.
- Chờ đợi hàng đầu – được theo dõi để xác định thời gian chờ đợi nào có thể được cắt giảm khi xử lý tốc độ truy xuất dữ liệu từ bộ nhớ
- Số lượng chủ đề – Sức khỏe của một ứng dụng có thể được đo bằng số không. của các chủ đề đang chạy và hiện đang hoạt động.
- Thu gom rác thải - Nó liên quan đến việc trả lại bộ nhớ chưa sử dụng cho hệ thống. Việc thu gom rác cần được giám sát để đảm bảo hiệu quả.
Ví dụ về các trường hợp kiểm thử kiểm thử hiệu năng
- Trường hợp thử nghiệm 01: Xác minh thời gian phản hồi không quá 4 giây khi 1000 người dùng truy cập website cùng lúc.
- Trường hợp thử nghiệm 02: Xác minh thời gian phản hồi của Ứng dụng đang tải nằm trong phạm vi chấp nhận được khi kết nối mạng chậm
- Trường hợp thử nghiệm 03: Kiểm tra số lượng người dùng tối đa mà ứng dụng có thể xử lý trước khi nó gặp sự cố.
- Trường hợp thử nghiệm 04: Kiểm tra thời gian thực thi cơ sở dữ liệu khi 500 bản ghi được đọc/ghi cùng lúc.
- Trường hợp thử nghiệm 05: Kiểm tra mức sử dụng CPU và bộ nhớ của ứng dụng và máy chủ cơ sở dữ liệu trong điều kiện tải cao điểm
- Trường hợp thử nghiệm 06: Xác minh thời gian phản hồi của ứng dụng trong điều kiện tải thấp, bình thường, trung bình và nặng.
Trong quá trình thực hiện kiểm tra hiệu suất thực tế, các thuật ngữ mơ hồ như phạm vi chấp nhận được, tải nặng, v.v. được thay thế bằng những con số cụ thể. Các kỹ sư hiệu suất đặt những con số này theo yêu cầu kinh doanh và bối cảnh kỹ thuật của ứng dụng.
Công cụ kiểm tra hiệu suất
Có rất nhiều công cụ kiểm tra hiệu suất có sẵn trên thị trường. Công cụ bạn chọn để kiểm tra sẽ phụ thuộc vào nhiều yếu tố như loại giao thức được hỗ trợ, chi phí giấy phép, yêu cầu phần cứng, hỗ trợ nền tảng, v.v. Dưới đây là danh sách các công cụ kiểm tra được sử dụng phổ biến.
- HP LoadRunner – là công cụ kiểm tra hiệu suất phổ biến nhất trên thị trường hiện nay. Công cụ này có khả năng mô phỏng hàng trăm nghìn người dùng, đặt các ứng dụng ở mức tải thực tế để xác định hành vi của chúng dưới mức tải dự kiến. Trình tải có trình tạo người dùng ảo mô phỏng hành động của người dùng thực tế.
- máy đo – một trong những công cụ hàng đầu được sử dụng để kiểm tra tải của máy chủ ứng dụng và web.
Câu Hỏi Thường Gặp
Kết luận
In Kỹ thuật phần mềm, Kiểm tra hiệu suất là cần thiết trước khi tiếp thị bất kỳ sản phẩm phần mềm nào. Nó đảm bảo sự hài lòng của khách hàng và bảo vệ khoản đầu tư của nhà đầu tư khỏi sự thất bại của sản phẩm. Chi phí kiểm tra hiệu suất thường được bù đắp nhiều hơn bằng việc cải thiện sự hài lòng, lòng trung thành và khả năng giữ chân của khách hàng.