PERFORMANCE TESTING LÀ GÌ

I. TỔNG quan liêu VỀ PERFORMANCE TESTING

1. Performane Testing là gì?

Performance Testing là 1 loại kiểm thử nhằm xác minh mức độ đáp ứng, băng thông, độ tin yêu và/hoặc kĩ năng mở rộng của khối hệ thống dưới một cân nặng làm việc/truy cập tốt nhất định. Performance Testing thường được sử dụng để:

Đánh giá chỉ mức độ sẵn sàng chuẩn bị của sản phẩmĐánh giá nhờ vào các tiêu chí hiệu suấtSo sánh giữa các đặc tính hiệu suất của đa khối hệ thống hoặc cấu hình hệ thốngTìm ra bắt đầu của các vấn đề về hiệu suấtHỗ trợ kiểm soát và điều chỉnh hệ thốngTìm các mức độ băng thông

Performance Testing thường xuyên được dùng sẽ giúp đỡ xác định tắc nghẽn trong một hệ thống, tùy chỉnh một đường các đại lý để kiểm demo trong tương lai, cung cấp điều chỉnh năng suất hiệu quả, xác định sự tương xứng mục tiêu và yêu mong hiệu suất, và thu thập dữ liệu chuyển động liên quan tiền khác để giúp đỡ các bên tương quan đưa ra đưa ra quyết định liên quan đến unique chung của những ứng dụng đang được kiểm thử. Ko kể ra, các công dụng từ việc kiểm thử năng suất và phân tích rất có thể giúp bạn ước tính thông số kỹ thuật phần cứng cần thiết để cung ứng các ứng dụng khi bạn đưa thành phầm đi vào thực hiện rộng rãi.

Bạn đang xem: Performance testing là gì

2. Nguyên nhân lại buộc phải phải tiến hành Performance Testing

Ở cấp độ cao nhất, kiểm demo hiệu năng sát như luôn được thực hiện để giải quyết một hoặc nhiều khủng hoảng liên quan liêu tới chi phí, thời cơ hoặc nổi tiếng của một công ty. Một số lý do ví dụ hơn cho tiến hành kiểm thử hiệu suất bao gồm:

Đánh giá chỉ sự sẵn sàng phát hành bởi:

Cho phép bạn dự đoán hoặc cầu tính những đặc tính hiệu suất của một ứng dụng trong tiếp tế và reviews có hay không thực hiện kiểm tra công suất dựa bên trên những dự đoán đó. Những dự kiến này cũng có giá trị để những bên tương quan đưa ra ra quyết định về việc liệu một ứng dụng đã sẵn sàng để xây đắp hoặc kỹ năng xử lý lớn mạnh trong tương lai, hoặc nó bắt buộc phải nâng cao hiệu suất/phần cứng trước lúc phát hành.Cung cung cấp dữ liệu cho biết khả năng của người tiêu dùng không chấp thuận với năng suất của hệ thống.Cung cấp dữ liệu để cung ứng trong câu hỏi dự đoán các tổn thất lợi nhuận hay uy tín chữ tín do khả năng mở rộng, kĩ năng ổn định hoặc do người dùng không ưng ý với thời hạn phản hồi của ứng dụng.

Đánh giá đại lý hạ tầng:

Đanh giá bán sự tương xứng của hiệu suất hiện tạiXác định năng lực ổn địnhXác định năng lượng của hạ tầng của ứng dụng, cũng tương tự xác định các nguồn lực quan trọng trong tương lai để hỗ trợ hiệu suất chấp nhận được.So sánh cấu hình của các khối hệ thống khác nhau nhằm xác định vận động tốt độc nhất vô nhị cho vận dụng và doanh nghiệpThẩm định việc áp dụng những đặc tính công suất mong mong muốn trong buộc ràng sử dụng chi phí nguồn lực.

Đánh giá không thiếu thốn về hiệu suất ứng dụng bởi:

Xác định sệt tính hiệu suất mong mong muốn của ứng dụng trước và sau khi thay đổi.Cung cấp các so sánh giữa những đặc tính hiệu suất hiện tại với ứng dụng ước ao muốn.

Nâng cao hiệu quả chuyển động bởi:

1. TOOL AUTOMATION TESTING - JMETER

1.1 trình làng về JmeterJmeter là phương tiện để đo độ thiết lập và performance của đối tượng, có thể sử dụng để thử nghiệm performance trên cả mối cung cấp tĩnh và nguồn động, rất có thể kiểm tra độ tải và hiệu năng trên nhiều loại server không giống nhau như: website – HTTP, HTTPS, SOAP, Database via JDBC, LDAP, JMS, Mail – SMTP(S), POP3(S) và IMAP(S)…

Jmeter là một phần mềm mã mối cung cấp mở được viết bằng java. Phụ thân đẻ của JMeter là Stefano Mazzocchi. Tiếp đến Apache đã thi công lại để đổi mới hơn đồ họa đồ họa cho tất cả những người dùng và kĩ năng kiểm thử hướng chức năng.

1.2 Đặc trưng

Jmeter có một số đặc trưng như sau:Nguồn mở, miễn phíGiao diện đối chọi giản, trực quan dễ dàng sử dụngCó thể kiểm thử không ít phong cách server: website - HTTP, HTTPS, SOAP, Database - JDBC, LDAP, JMS, Mail - POP3, …Một công cụ tự do có thể chạy xe trên nhiều gốc rễ hệ quản lý điều hành khác nhau, bên trên Linux chỉ việc chạy bởi một shell script, trên Windows thì chỉ cần chạy một file .batĐa luồng, giúp xử trí tạo các request cùng một khoảng chừng thời gian, xử lý những dữ liệu chiếm được một giải pháp hiệu quả.Jmeter Performance Testing gồm 2 phần:Load Testing: mô hình hóa dự kiến thực hiện bởi nhiều người dùng truy cập một dịch vụ website trong thuộc thời điểm.Stress Testing: tất cả các website server rất có thể tải một dung tích lớn, lúc mà download trọng vượt ra ngoài giới hạn thì web server bắt đầu phản hồi chậm rãi và gây ra lỗi. Mục tiêu của căng thẳng testing là hoàn toàn có thể tìm ra độ tải béo mà web server có thể xử lý.

*

1.3 cách hoạt độngCách Jmeter thao tác làm việc như sau:

*

1.4 các thành phần thiết yếu của JmeterTEST PLANTest Plan định nghĩa đề nghị test gì và cách để thực hiện như vậy nào.

Test Plan node: khu vực lưu test plan thật sự bạn muốn testWorkbench node: nơi đựng tạo những element mà chúng ta không dùng, chỉ nhằm với mục đích copy/paste. Khi lưu kiểm tra Plan thì Workbench không được lưu
*

TEST PLAN ELEMENT:Ở mức độ basic, tôi chỉ giới thiệu cụ thể một vài ba elements trong các các elements sau đây:i. Thread Groups:

Mọi TestPlan các cần ít nhất 1 Thread Group, trách nhiệm của Thread Groups sẽ tạo nên ra các yêu mong để request tới server.Cách tạo: Chuột đề xuất vào kiểm tra Plan –> showroom –> Threads(users) –> Thread Group
*

*

Giải thích một vài thuộc tính bên trên màn hình:Name : đặt tên cho ThreadGroupNumber of Threads(users) : số lượng người tiêu dùng mà ta mong mỏi mô phỏng.Ramp-up Period (in seconds): cho thấy thời gian nhằm JMeter tạo thành tất cả những thread phải thiết. Ví dụ trường hợp tham số này là 10 thì vào 10 giây tất cả các Number of Threads đã khai báo nghỉ ngơi trên sẽ tiến hành gửi đi trong 10 giây, nếu đặt tham số này là 0 thì tất cả các yêu thương cầu sẽ tiến hành gửi đi cùng một lúc.Loop Count Forever : 1 những thread được chế tạo sẽ triển khai 1 lần (thay 1 bởi n thì số các thread vẫn lặp n lần).

ii. SamplerSamplers có thể chấp nhận được JMeter gửi các loại yêu thương cầu ví dụ tới serverCó tương đối nhiều Samplers như sau:

HTTP RequestFTP RequestJDBC Request-Java Request-SOAP/XML RequestRPC Requests

Đây là hình ảnh cho HTTP Request:

*

*

Giải thích một số trong những thuộc tính trên màn hình:

Name: Đặt thương hiệu hành động họ muốn làmProtocol: Không chọn gì có nghĩa mặc định là HTTPPath: home thì chỉ cần /, trang con trong đó thì “/tên trang”

iii. Ngắn gọn xúc tích Controllers:

Nếu đa số request được định nghĩa trong các test plan của khách hàng được thực thi dựa vào 1 vài ba logic, lúc đó sẽ cần đến xúc tích Controllers. Tương thích với kết cấu if-then-else cùng loop trong Java hoặc ngôn ngữ khác.

*

iv. Listeners:Tập các kết quả của bài toán run test, cung cấp cho người dùng các công thay hiển thị một phương pháp trực quan, dễ dàng nắm bắt như: tables, graphs, trees hoặc một vài ba log files đơn giảnHình hình ảnh sau đó là một hiệu quả test dạng table

*

Giải thích một số thuộc tính bên trên màn hình:

Label : thương hiệu request#Samples : số requestAverage : thời gian trung bình xử lý những requestmin : thời gian nhỏ dại nhất xử lý requestmax : thời gian lớn nhất cách xử lý requestError : xác suất bị lỗi của các request(lỗi liên kết hoặc lỗi cho áp sạc ra không ý muốn muốn)thoughput : số request/s của serverkb/s = (avg.bytes*thoughput)/1024

v. Timer: dùng để định nghĩa thời gian đợi giữa các request**vi. Assertions:**Xác nhận hiệu quả trả về đã đúng hay chưa bằng một vài Validation**vii. Configuration Elements:**Tạo những giá trị khoác định và các biến sử dụng cho Samplerviii. Pre-processor Elements: dùng làm xử lí một cái nào đấy ngay trước lúc Sampler được thực hiệnix. Post-processor Elements: dùng để xử lí công dụng trả về sau khoản thời gian Sampler được thực hiện

1.5 chạy thử - BasicSCENARIO 1:

Số lượng user: 100SCENARIO 2:Access vào trang khác trên lazada: /quan-ao-phu-kien-cho-be/?spm=a2o4n.home.0.0.03OchN&boost=2Số lượng user: 100Step 1: Create a new chạy thử Plan: DemoLazada
*
**Step 2:**Giả lập nhiều user cùng truy vấn vào website đồng thời.Click chuột yêu cầu vào test Plan –> showroom –> Threads(users) –> Thread GroupName : để tên mang lại ThreadGroup ( ở chỗ này mình đặt ThreadGroup1).Number of Threads(users) : số lượng người tiêu dùng mà ta mong mỏi mô phỏng.Ramp-up Period (in seconds): Cho biết thời hạn để JMeter tạo thành tất cả gần như thread yêu cầu thiết. Ví dụ nếu như tham số này là 10 thì vào 10 giây tất cả các Number of Threads vẫn khai báo ở trên sẽ tiến hành gửi đi trong 10 giây, nếu đặt tham số này là 0 thì tất cả các yêu thương cầu sẽ tiến hành gửi đi cùng một lúc.Loop Count Forever : 1 các thread được tạo nên sẽ thực hiện 1 lần( gắng 1 bằng n thì số các thread đã lặp n lần).
*

Step 3: sản xuất request mang đến server1 thread(tương ứng 1 user) rất có thể tạo những request http trình lên server .Chuột buộc phải vào Thread group –> showroom –> Confict Element –> HTTP Request DefaultName : đánh tên requestServer name or Ip : điền showroom trang web yêu cầu truy cập.Nếu biết ip cùng cổng thì : điền ip vào hệ thống Name or Ip và số cổng vào Port Number, băng thông đến website cần truy vấn vào Path.ví dụTruy cập vào trang http://lazada.vn chỉ việc điềnServer Name or Ip : lazada.vnPort number : 80

Lưu ý: buộc phải kéo HTTP Request mặc định lên phía trên những ThreadGroup để tiện lợi thực hiện nay test, chỉ việc tạo 1 lần cho toàn bộ các ThreadGroup ý muốn test trang lazada.vn

*

Step 4: sinh sản HTTP Request rõ ràng đến đối tượng người dùng mà bạn muốn truy cập trên trang lazada.Trong trường hòa hợp này, điểm đến chọn lựa là mục áo xống phụ kiện cho béChuột yêu cầu vào Thread group –> địa chỉ cửa hàng –> sample –> HTTP RequestPath: quan-ao-phu-kien-cho-be/?spm=a2o4n.home.0.0.9TS4zZ

*

Step 5: Chạy testClick vào button Start (dấu mũi tên màu sắc xanh) bên trên thanh menuClick vào icon Stop trên thanh menu để dừng lại

Step 6:Xem công dụng của kịch bạn dạng test

Xem kết quả tổng hợp của tất cả các threadChuột đề xuất vào Thread Group –> add -> Listener –> Summary Report

Bảng những thống kê kết quảLabel : tên request#Sample : số requestAverage : thời gian trung bình xử lý những requestmin : thời gian bé dại nhất xử lý requestmax : thời gian nhỏ dại nhất xử trí requestError : tỷ lệ bị lỗi của những request(lỗi kết nối hoặc lỗi cho đầu ra output không ao ước muốn)thoughput : số request/s của serverkb/s = (avg.bytes*thoughput)/1024

*

Step 7: Xem kết quả của từng Request vào kịch bảnChuột đề nghị Thread Group –> địa chỉ –> Listener –> View Results Tree

Ví dụ : sau khi chạy chương trình, trong phần view results tree hiển thị thông tin các request và tác dụng của chúng.Các request xanh là request không lỗi, những request đỏ bị lỗi. Click vào mỗi request tương ứng cạnh bên sẽ tất cả 3 phần thông tin về request đó: sample result, request, response data.

Xem thêm: Bài Viết Chi Tiết - Thụ Phấn Bổ Sung Cho Na Sai Quả

*

1.6 kiểm tra - Advance

SCENARIO: Simulate 10 users log-in to system at the same time with different username và password

Để log-in vào 1 website thì hay được sử dụng method POST để gửi REQUEST lên với phần nhiều parameters quan trọng để vps biết với trả về RESPONE tương ứng. Ở phía trên để biết 1 trang web khi log-in vẫn cần gửi lên những thông tin gì, thì ta sẽ dùng firebug (1 add-on của firefox) để triển khai việc này.

*

Sau lúc biết được cần được gửi hồ hết parameters như thế nào lên thì chúng ta thực hiện simulate việc gửi này với Jmeter, như sau :

*

Nhưng trong những parameters này thì gồm authencity_token là giá chỉ trị thay đổi theo từng REQUEST nhằm tránh việc spam cũng giống như bảo mật cho REQUEST, buộc phải không thể copy authencity_token của request này mang đến request kia. Vày đó, chúng ta phải tạo ra những authencity_token riêng mang lại từng request. Để làm cho được vấn đề này, Jmeter cung ứng cho bọn họ function đó là REGULAR EXPRESSION EXTRACTOR

REGULAR EXPRESSION được gọi là biểu thức bao gồm quy, Là cpu sau, phần tử này sẽ triển khai sau từng yêu mong Mẫu trong phạm vi của nó, vận dụng biểu thức thiết yếu quy, trích xuất các giá trị được yêu thương cầu, tạo nên chuỗi chủng loại và giữ trữ hiệu quả vào tên biến đổi nhất định (ví dụ : tạo ra authencity_token, item_id để lấn sân vào detail, chế tạo transaction_id cho những giao dịch ,…)

*

Sau khi đem được authencity_token cho từng request thì bọn họ thực hiện nay log-in 10 users cùng lúc với username với password khác nhau

CSV DATA set CONFIGĐể triển khai việc này, họ dùng CSV Data mix Config. Bọn họ sẽ tạo 1 file csv cất username cùng password của 10 users nên dùng, với import file CSV đó vào CSV Data set Config và gán biến cho những parameters ngơi nghỉ POST nhằm JMeter hiểu với thực hiện.

*

Thực hiện tại gán trở nên cho username và pass

*

ASSERTION

Nhưng khi chạy bởi vậy thì tất cả những request trả về hầu hết được gật đầu đồng ý và báo pass, bọn họ khó phân biệt được request nào đăng nhập thành công, request nào singin không thành công. Bởi vì đó, bọn họ sẽ thêm một trong những phần Assertion để tách biệt điều này.a. Khi singin thành công:

*

b. Khi singin không thành công:

*

EXPORT thử nghiệm RESULTSau kia Run và nhận kết quả. Chúng ta cũng có thể export kết quả test ra tệp tin csv bằng cách. File sẽ được lưu tự động hóa vào folder Bin của Jmeter

*

2. TOOL AUTOMATION TESTING - LOADCOMPLETE

2.1 Giới thiệuLoadComplete là một trong những công cụ chất vấn lượng tải, chất nhận được tạo với chạy tự động cho website servers với services. Giúp người dùng kiểm tra được tính năng của website server dưới một lượng download lớn.

*

2.2 các Tính Năng:

Load testing: kiểm tra hành vi của web server dưới tải trọng lớnStress testing: soát sổ hành vi của web server bên dưới một lượng tải cực kỳ lớnScalability testing: xác định năng suất của web server bằng cách tăng thêm phần cứng hoặc phần mềm

2.3. Hỗ trợ

Web Servers and Platforms: LoadComplete hỗ trợ tất cả những loại web server (IIS, Apache) và căn nguyên (Windows, Linux/UNIX)We Client Applications: LoadComplete hỗ trợ tất cả các trình săn sóc web phổ cập (Internet Explorer, Edge, Firefox, Chrome or custom website application)Hỗ trợ Rich mạng internet Applications: LoadComplete hoàn toàn có thể ghi và chạy lại những thử nghiệm cho bất kỳ loại như thế nào của Rich internet Applications, bao gồm Adobe Flash và Flex, Microsoft Silverlight và Ajax.Hỗ trợ JSP/Servlet Applications: LoadComplete hoàn toàn có thể ghi và chạy lại luồng dữ liệu cho áp dụng JSP/ServletHỗ trợ HTML5 Applications: LoadComplete hoàn toàn có thể ghi lại và chạy lại luồng dữ liệu cho web phầm mềm mà được cải cách và phát triển bởi HTML5 và APIs, bao hàm giao thức WebSocket.

2.4. Ưu điểm

Cài đặt dễ dàngDễ sử dụng bằng phương pháp ghi lại hành vi của fan dùngCó thể thiết lập cấu hình các quy tắc để khám nghiệm tùy thuộc vào hành vi của sản phẩm chủCó thể coi được quy trình chạy kiểm traReport dễ dàng đọc

2.5. Nhược điểm

Là một áp dụng tính phí

3. TOOL AUTOMATION TESTING - GRINDER

3.1 Giới thiệu

The Grinder là một tool kiểm thử hiệu năng dựa trên căn nguyên JavaTM. Và đặc trưng nó trọn vẹn miễn phí. Grinder bao gồm:

The Grinder Console: Ứng dụng GUI dùng làm điều khiển các Agents với hiển thị kết quả. Grinder Console cũng cần sử dụng được áp dụng như một IDE chỉnh sửa và cải tiến và phát triển Test suites. Để khởi động màn hình Console dùng lệnh “java net.grinder.Console
*
Grinder Agents: Để khởi đụng Agent cần sử dụng lệnh “java net.grinder.Grinder
*

3.2 Key Future

Generic Approach: Kiểm tra tất cả các áp dụng mà có Java API, bao gồm HTTP web servers, SOAP cùng REST website services, cùng application servers (CORBA, RMI, JMS, EJBs)Flexible Scripting : Script được viết bằng ngữ điệu Python với ClojureDistributed Framework : Có cung ứng UI có thể chấp nhận được giám gần kề và kiểm soát và điều hành các các injectors và hỗ trợ việc sửa đổi Script và phân phối.TCP proxy để lưu lại các hành vi cửa hàng trên browser vào Grinder chạy thử scriptHỗ trợ các giao thức không giống nhau

3.3 Ưu điểm:

Miễn phíCó thể tùy chỉnh thiết lập script một cách dễ dàngScript dùng ngữ điệu PythonCung cấp chức năng record actionCó thể sử dung Browser ProxyLinh hoạt, hoàn toàn có thể dễ dàng start up trên một khối hệ thống khác

3.4 Nhược điểm:

Không có tương đối nhiều sự lựa chọn hiển thị kết quả ReportGUI không gần gũi với fan dùng

4. TOOL AUTOMATION TESTING - website PERFORMANCE

4.1 Giới thiệu

Với mục đích kiểm tra hiệu năng của một trang web, webperformance cũng là trong những công cố hỗ trợ.

Webperformance cung cấp các chức năng test performance như:

Trang web rất có thể xử lý được từng nào user ?Trang web rất có thể bị phá đổ vỡ dưới đk tải nào.Trang web rất có thể phục vụ từng nào transaction trong 1 giây.Có thể thông số kỹ thuật để tiến hành load demo với vitual browser cùng real browser dựa trên Selenium WebDrive.

Với nền tảng cung ứng là Windows, MAC, chúng ta có thể dễ dàng tải về và thiết đặt ứng dựng từ bỏ website chủ yếu thức: http://www.webperformance.com/download/

*

4.2 Qui trình tiến hành load test

Tạo một testcase bằng cách thức record màn hình các action:

*

Cấu hình testcase đến replay.Cấu hình testcase với tương đối nhiều user.

*

Chạy và phân tích công dụng load test.

*
*

4.3 Ưu điểm

Dễ thiết lập đặtDễ sử dụng bằng phương pháp ghi lại những kích hoạt user thực hiệnHỗ trợ hầu như các trình duyệt phổ cập hiện nayCó thể xem được report trong quá trình chạy kiểm traReport hiệu quả thực hiện rõ ràng, đưa ra tiết, dễ dàng hiểu

4.4. Nhược điểm

Là tool tất cả phíKhông tư vấn hệ điều hành và quản lý LinuxChỉ chạy thử được trên trang thử nghiệm của webperformane lúc sử dụng bạn dạng trialIII. KẾT LUẬN

Qua nội dung bài viết này, mong muốn mọi tín đồ có một chiếc nhìn tổng quan về các Performance Testing Tool. Khi bao gồm một yêu thương cầu tìm hiểu về Tool phục vụ cho Performance Test, có lẽ rằng mọi tín đồ đã tuyển lựa được cho khách hàng một tool tương xứng với dự án công trình của mình.

Tài liệu tham khảo:http://opensourceforu.com/2016/04/the-grinder-a-handy-performance-testing-tool/https://www.blazemeter.com/blog/open-source-load-testing-tools-which-one-should-you-use