Performance Testing – Kiểm thử hiệu năng là gì?

Chúng tôi rất vui mừng chia sẻ kiến thức về từ khóa Performance test la gi để tối ưu hóa nội dung trang web và tiếp thị trực tuyến. Bài viết cung cấp phương pháp tìm kiếm, phân tích từ khóa và chiến lược hiệu quả. Cảm ơn sự quan tâm và hãy tiếp tục theo dõi để cập nhật kiến thức mới.

Kiểm thử hiệu năng là gì? Kiểm thử hiệu năng hay performance testing được khái niệm là một loại phần mềm kiểm thử sử dụng để đảm bảo các ứng dụng phần mềm hoạt động hiệu quả trong khoảng chừng công việc dự kiến của ứng dụng.

1. Performance testing là gì?

Có nhiều khái niệm về kiểm thử hiệu năng, kiểm thử hiệu năng hay performance test được khái niệm là một loại phần mềm kiểm thử sử dụng để đảm bảo các ứng dụng phần mềm hoạt động hiệu quả trong khoảng chừng công việc dự kiến của ứng dụng.

Bạn Đang Xem: Performance Testing – Kiểm thử hiệu năng là gì?

Các tính năng và chức năng của một mạng lưới hệ thống phần mềm không phải là mối quan tâm duy nhất. Hiệu năng của một ứng dụng phần mềm như thời kì phản hồi (response time), độ tin cậy (reliability), sử dụng tài nguyên (resource usage) và khả năng mở rộng (scalability) của nó cũng là điều đáng lưu ý.

Trong số đó trọng tâm của kiểm thử hiệu năng là:

  • Thời kì phản hồi: xác định xem ứng dụng phản hồi nhanh hay chậm
  • 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 tải khác nhau hay là không.

Mục tiêu của Kiểm thử hiệu năng không phải là để tìm lỗi, nó là hoạt động cấp thiết cho việc phát triển những giải pháp tối ưu hóa hiệu năng cho phần mềm. Kiểm thử hiệu năng giúp tất cả chúng ta tránh được những tình huống không lường trước lúc triển khai ứng dụng trong môi trường thiên nhiên thực tế.

Performance test sử dụng để đảm bảo các ứng dụng phần mềm

>> Có thể bạn quan tâm: 8 kỹ thuật kiểm thử phần mềm quan trọng

2. Các loại Performance testing

Load test là gì: kiểm thử khả năng của ứng dụng để thực hiện theo tải người dùng dự đoán. Mục tiêu là để xác định mức độ ùn tắc hiệu suất trước lúc ứng dụng phần mềm được phát hành trong môi trường thiên nhiên thực tế.

Stress test là gì: Liên quan đến việc thử nghiệm một ứng dụng theo khối lượng công việc quá to để xem cách nó xử lý lưu lượng truy cập cao hoặc cách mà nó xử lý tài liệu. Mục tiêu là để xác định được điểm giới hạn của một ứng dụng.

Capacity Test là gì: Mục tiêu để xác định có bao nhiêu user hoặc bao nhiêu thanh toán giao dịch hoặc số lượt truy cập trên một đơn vị thời kì có thể đáp ứng các SLA (Service Level Agreement- là một thỏa thuận hợp tác hay hợp đồng được thiết lập giữa khách hàng và nhà cung cấp dịch vụ) hiệu năng của mạng lưới hệ thống

Endurance test là gì: Mục tiêu để đảm bảo phần mềm có thể xử lý tải dự kiến trong một khoảng chừng thời kì dài.

Spike test à gì: Mục tiêu để kiểm tra phản ứng của phần mềm khi đối chiếu với các thay đổi lớn đột ngột trong tải do người dùng tạo.

Volume test là gì: Mục tiêu là để kiểm tra hiệu suất của ứng dụng phần mềm theo khối lượng cơ sở tài liệu khác nhau.

Scalability test là gì: Mục tiêu của thử nghiệm nhằm đến khả năng mở rộng của ứng dụng, để xác định hiệu quả của ứng dụng phần mềm khi “mở rộng” để tương trợ tăng tải người dùng, tương trợ cho việc lập kế hoạch bổ sung dung tích cho mạng lưới hệ thống.

Reliability Test là gì: Là một loại kiểm thử để xác minh rằng phần mềm có khả năng thực hiện một hoạt động không có lỗi trong một khoảng chừng thời kì nhất định trong một môi trường thiên nhiên được chỉ định. Nó cũng đấy là việc kiểm thử độ tin cậy của mạng lưới hệ thống đó. Ví dụ: Xác suất mà một máy tính trong một cửa hàng hoạt động và chạy trong tám giờ mà không xẩy ra lỗi là 99% => yếu tố này được gọi là độ tin cậy.

>> Tìm hiểu thêm: Performance Test, Load Test và Stress Test khác nhau ra sao?

3. Những vấn đề chung về hiệu năng của một mạng lưới hệ thống

Hồ hết các vấn đề về hiệu năng đều xoay quanh tốc độ, thời kì đáp ứng, thời kì tải và khả năng mở rộng kém. Tốc độ thường là một trong những tính chất quan trọng nhất của ứng dụng. Ứng dụng chạy chậm sẽ mất thời kì, giảm đi sự hài lòng của người dùng khi đối chiếu với mạng lưới hệ thống, có thể làm mất đi đi những người dân dùng tiềm năng. Kiểm thử hiệu năng được thực hiện để đảm bảo ứng dụng chạy đủ nhanh để thu hút sự lưu ý và quan tâm cũng như đem lại sự thỏa mãn, hài lòng của người dùng.

Sau đây là list một số vấn đề về hiệu năng chung, qua đây ta cũng nhận thấy tốc độ là một yếu tố phổ thông nhất:

Thời kì tải quá dài: Thời kì tải thường là thời kì ban sơ của một ứng dụng để khởi chạy. Điều này thường nên được giữ ở tại mức tối thiểu. Mặc dù một số ứng dụng không thể thực hiện tải dưới một phút, nhưng thời kì tải sẽ tiến hành giữ trong vài giây nếu là tốt nhất

Thời kì phản hồi chậm: Thời kì phản hồi là thời kì cấp thiết khi người dùng nhập tài liệu vào ứng dụng cho đến lúc ứng dụng đưa ra phản hồi cho nguồn vào đó. Nói chung điều này sẽ rất nhanh. Một lần nữa nếu người dùng phải mong chờ quá lâu, họ sẽ mất hứng thú.

Xem Thêm : Tìm hiểu về ms là gì trong game

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 thì nó không thể xử lý số lượng người dùng như mong đợi hoặc khi nó không đáp ứng đủ phạm vi người dùng khi đó kiểm tra tải phải được thực hiện để vững chắc ứng dụng có thể xử lý số lượng người dùng dự kiến.

Tắc nghẹn cổ chai: là những vật cản trong mạng lưới hệ thống làm suy giảm hiệu năng toàn bộ mạng lưới hệ thống. Sự ùn tắc cổ chai là lúc các lỗi mã hóa hoặc các vấn đề phần cứng gây ra sự sụt giảm thông lượng theo trọng tải nhất định. Ngắt cổ chai thường do một phần mã bị lỗi gây ra. Chìa khóa để khắc phục vấn đề là thực hiện ùn tắc cổ chai test để tìm phần mã gây ra sự chậm lại và tìm giải pháp khắc phục. Một số ùn tắc hiệu suất phổ thông là: CPU, bộ nhớ, mạng, hệ điều hành, ổ cứng

4. Quy trình test hiệu năng

Phương pháp được ứng dụng để kiểm tra hiệu năng có thể khác nhau nhưng mục tiêu của những quá trình kiểm thử hiệu năng vẫn giữ nguyên. Nó có thể giúp chứng minh rằng mạng lưới hệ thống đáp ứng một số tiêu chí hiệu năng được xác định trước. Hoặc nó có thể giúp so sánh hiệu năng của hai hay nhiều mạng lưới hệ thống phần mềm. Hoặc nó cũng xuất hiện thể giúp xác định các thành phần của mạng lưới hệ thống nào đang làm suy giảm hiệu năng của nó.

Quy trình kiểm thử hiệu năng cơ bản:

1. Xác định môi trường thiên nhiên kiểm thử

Sẵn sàng sẵn sàng môi trường thiên nhiên thử nghiệm vật lý, môi trường thiên nhiên sinh sản và dụng cụ kiểm tra sẵn có. Nắm rõ về cấu hình phần cứng, phần mềm và mạng được sử dụng trong quá trình kiểm thử trước lúc mở màn. Nó sẽ giúp tạo ra bộ Testcase kiểm thử hiệu năng hiệu quả hơn song song nó cũng sẽ hỗ trợ xác định các khó khăn mà người thử nghiệm có thể gặp phải trong quá trình kiểm thử hiệu năng.

2. Xác định các tiêu chí đồng ý hiệu năng có thể chấp nhận được của mạng lưới hệ thống

Gồm có các mục tiêu và ràng buộc cho thông lượng, thời kì phản hồi và phân bổ nguồn lực. Nó cũng cấp thiết để xác định các tiêu chí thành công của dự án. Tester cần xác định được những tiêu chí và mục tiêu hiệu năng tối thiểu cần đạt của mạng lưới hệ thống bởi vì thông thường các thông số của dự án sẽ không còn gồm có nhiều hoặc không có những tiêu chí hiệu năng đủ lớn. Việc sử dụng một ứng dụng tương tự để so sánh là một cách hay để thiết lập tiêu chí hiệu năng.

3. Lập kế hoạch và thiết kế kiểm thử hiệu năng

Xác định cách sử dụng có khả năng khác nhau giữa những người dân dùng cuối và xác định các tình huống chính để kiểm tra tất cả những trường hợp sử dụng có thể. Nó là cấp thiết để mô phỏng một loạt các người dùng cuối, kế hoạch tài liệu thử nghiệm hiệu suất và phác thảo những số liệu sẽ tiến hành thu thập.

4. Cấu hình thiết lập môi trường thiên nhiên kiểm thử

Cấu hình thiết lập môi trường thiên nhiên, dụng cụ, tài nguyên cấp thiết trước lúc thực hiện test

5. Triển khai test design

Tạo testcases kiểm thử hiệu năng theo test design

6. Thực hiện test

Thực thi và theo dõi kết quả thực thi.

7. Phân tích, kiểm soát và điều chỉnh và kiểm tra lại

Thống nhất, phân tích và san sẻ kết quả kiểm tra. Sau đó, tinh chỉnh và kiểm tra lại để xem có cải thiện hay giảm hiệu suất hay là không. Vì các cải tiến thường tăng lên nhỏ hơn với mỗi lần kiểm tra lại, tạm ngừng khi bị ùn tắc do CPU gây ra. Sau đó, chúng ta có thể có tùy chọn xem xét tăng tốc độ xử lý của CPU hay là không.

5. Phương tiện kiểm thử hiệu năng

Việc lựa chọn dụng cụ kiểm thử hiệu năng dựa trên nhiều yếu tố như: ngân sách, phương thức tương trợ, trình duyệt, tiếng nói phát triển phần mềm, phần cứng,…

Sau đây là một số dụng cụ phổ biển phục vụ cho việc kiểm thử hiệu năng:

Jmeter: Là phần mềm mã nguôn mở sử dụng 100% tiếng nói Java, được thiết kế để kiểm thử tải (load testing) web and app của sever.

Link tải về trên windows: http://jmeter.apache.org/download_jmeter.cgi

Link tải về trên ubutu: http://jmeter.apache.org/download_jmeter.cgi

– LoadRunner: là dụng cụ kiểm thử hiệu năng được chấp nhận tìm ra những lỗi về khả thi bằng việc phát hiện nguyên nhân, chỗ làm cho phần mềm chạy chậm hoặc không đúng yêu cầu.

Đây là dụng cụ mạnh với giải pháp kiểm tra tải, phát hiện và đưa ra giải pháp cải tiến. Ứng dụng LoadRunner sẽ giúp giảm thời kì viết test script đến 80%, đó là nhờ nó cung cấp chức năng tự động hóa phát sinh script mô tả lại các tình huống muốn kiểm tra.

Link tải về: https://software.microfocus.com/en-us/products/loadrunner-load-testing/overview?jumpid=va_uwxy6ce9tr

– Load View-Testing: là dụng cụ kiểm thử hiệu năng được chấp nhận thiết lập đường cơ sở thời kì phản hồi theo số lượng người dùng tải cụ thể, xác định điểm ùn tắc hiệu suất khi số lượng người dùng song song tăng lên, xác định được giới hạn trên của không ít mạng lưới hệ thống ngày nay để lập kế hoạch cho hiệu năng trong tương lai, tăng hiệu năng lên mức cao trên môi trường thiên nhiên test để thấy được cách xử lý tài liệu và điểm giới hạn hiệu năng của mạng lưới hệ thống.

Xem Thêm : Wishlist trong đám cưới là gì và khi nào nên dùng đến Wishlist?

Link tải về: https://www.loadview-testing.com/

– LoadStorm: là dụng cụ có khả năng chịu tải rất tốt, có thể kiểm tra hiệu năng của app thông qua lượng traffic và user. Điểm đặc biệt quan trọng ở dụng cụ này là nó có thể thiết lập hàng trăm nghìn, thậm chí là hàng triệu user để khai thác lỗ hổng trong ứng dụng. Mặt khác, tester có thể dễ dàng kiểm soát và điều chỉnh kịch bản test khi sử dụng dụng cụ này. Sau khoản thời gian tiến hành pentest, các bạn sẽ nhìn thấy một bản báo cáo giải trình chi tiết cụ thể.

Link tải về: https://pro.loadstorm.com/

6. Sử dụng LoadRunner để kiểm thử hiệu năng

1. Thành phần của LoadRunner

LoadRunner chứa các thành phần sau đây:

  • Virtual User Generator: Tự động hóa tạo ra VuGen script để lưu lại các thao tác người dùng tương tác lên phần mềm. VuGen script này còn được xem là hoạt động của một người ảo mà LoadRunner giả lập.
  • Controller: Tổ chức, kiểm soát và điều chỉnh, quản lý và giám sát hoạt động kiểm tra tải. Thành phần này còn có chức năng tạo ra những tình huống (scenario) kiểm tra.
  • Load Generator: Được chấp nhận giả lập hàng ngàn người dùng, hoạt động của từng người sẽ tiến hành thực hiện theo VuGen script. Kết quả thực hiện sẽ tiến hành thông tin cho Controller.
  • Analysis: Cung cấp việc xem, phân tích và so sánh các kết quả kiểm tra hiệu năng phần mềm.
  • Launcher: Nơi tập trung tất cả những thành phần của LoadRunner cho tất cả những người dùng.

2. Thuật ngữ dùng trong LoadRunner

  • Scenario: Là một file khái niệm các sự kiện xẩy ra trong mỗi lần kiểm tra dựa trên hiệu suất yêu cầu.
  • Vuser: Trong Scenario, LoadRunner thay thế người sử dụng bằng người dùng ảo hay còn gọi là Vuser. Vuser mô phỏng hành động của con người thao tác làm việc với ứng dụng của tất cả chúng ta. Một Scenario có thể chứa hàng chục nghìn, hàng trăm và thậm chí là hàng ngàn Vuser.
  • Vuser Script: Các hành động mà Vuser thực thi trong Scenario được mô tả trong Vuser Script.
  • Transactions: Tất cả chúng ta khái niệm một transactions để đo lường và tính toán hiệu quả hoạt động của Server . Một Transaction thay mặt cho tất cả những người sử dụng dưới vai trò End-User thực hiện theo quy trình nghiệp vụ mà tất cả chúng ta muốn đo lường và tính toán.

3. Các bước Load Test

B1: Plan Load Test

Thiết kế test case với những bước thực hiện rõ ràng, và đề ra các thông số cần đo lường và tính toán cụ thể.

B2: Create Vuser Scripts

Dùng dụng cụ LoadRunner tất cả chúng ta có thể lưu lại các thao tác người dùng tương tác với mạng lưới hệ thống dưới dạng script.

B3: Define Scenario

Thiết kế scenario, nhằm giả lập môi trường thiên nhiên mà phần mềm hoạt động với hiệu năng giống trong thực tế.

B4: Run Screnario

Chạy, quản lý và giám sát việc thực hiện performance test.

B5: Analyzing the Results

Phân tích kết quả dựa trên thống kê mà dụng cụ LoadRunner cung cấp. Nếu kết quả thực tế chưa đáp ứng được yêu cầu thì phần mềm được kiểm tra cần được kiểm soát và điều chỉnh.

4. Ví dụ

Tạo một người dùng ảo ghi lại các sự kiện, hoạt động bởi người dùng thật trên website: http://facebook.com.vn

  1. Ghi lại sự kiện đăng nhập của một người dùng vào facebook
  1. Khi Vuser Script dừng chạy, tất cả chúng ta có thể xem tổng quan việc chạy lại trong Replay Summary.

Thời kì chạy: 11/08/2017 10:34:34 CH

Thời kì kết thúc: 11/08/2017 10:35:01 CH

  1. Kết quả chi tiết cụ thể:

Bizfly Cloud hy vọng nội dung bài viết sẽ giúp các bạn hiểu hơn về kiểm thử hiệu năng và có thể lựa chọn được dụng cụ kiểm thử hiển năng phù phù hợp với mạng lưới hệ thống.

Tài liệu tham khảo: https://www.guru99.com/performance-testing.html

Theo viblo.asia

>> Có thể bạn quan tâm: Các hình thức kiểm thử Website

You May Also Like

About the Author: v1000