PERFORMANCE TEST LÀ GÌ

I. TỔNG QUAN VỀ PERFORMANCE TESTING

1. Performane Testing là gì?

Performance Testing là 1 loại kiểm thử nhằm mục đích khẳng định cường độ đáp ứng nhu cầu, đường dẫn, độ tin cẩn và/hoặc khả năng mở rộng của khối hệ thống dưới một cân nặng làm cho việc/truy vấn nhất thiết. Performance Testing thường xuyên được sử dụng để:

Đánh giá chỉ cường độ chuẩn bị sẵn sàng của sản phẩmĐánh giá nhờ vào những tiêu chuẩn hiệu suấtSo sánh thân những đặc tính hiệu suất của nhiều hệ thống hoặc thông số kỹ thuật hệ thốngTìm tòi xuất phát của các sự việc về hiệu suấtHỗ trợ điều chỉnh hệ thốngTìm những mức độ băng thông

Performance Testing thường được dùng sẽ giúp khẳng định tắc nghẽn vào một khối hệ thống, tùy chỉnh một đường cửa hàng để kiểm thử về sau, cung ứng điều chỉnh hiệu suất kết quả, xác định sự cân xứng kim chỉ nam cùng kinh nghiệm hiệu suất, và thu thập dữ liệu chuyển động liên quan không giống sẽ giúp đỡ những mặt tương quan đưa ra ra quyết định tương quan cho chất lượng bình thường của các áp dụng đang được kiểm test. Ngoài ra, các hiệu quả từ các việc kiểm demo công suất cùng phân tích hoàn toàn có thể giúp đỡ bạn ước tính cấu hình Hartware quan trọng nhằm cung cấp các áp dụng khi bạn chuyển thành phầm bước vào thực hiện rộng thoải mái.

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

2. Tại sao lại cần được triển khai Performance Testing

Tại cấp độ cao nhất, kiểm demo tính năng gần như là luôn luôn được triển khai để giải quyết một hoặc nhiều khủng hoảng tương quan cho tới ngân sách, cơ hội hoặc danh tiếng của một đơn vị. Một số lý do rõ ràng rộng mang đến triển khai kiểm demo năng suất bao gồm:

Đánh giá bán sự sẵn sàng thi công bởi:

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

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

Đanh giá bán sự cân xứng của hiệu suất hiện nay tạiXác định kỹ năng ổn định địnhXác định năng lượng của cơ sở hạ tầng của ứng dụng, cũng như khẳng định các nguồn lực cần thiết sau này nhằm cung ứng công suất đồng ý được.So sánh cấu hình của các hệ thống khác nhau nhằm khẳng định chuyển động cực tốt mang đến áp dụng với doanh nghiệpThđộ ẩm định việc vận dụng những công năng công suất mong ước trong buộc ràng thực hiện chi phí nguồn lực có sẵn.

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

Xác định công năng hiệu suất ước muốn của ứng dụng trước với sau khoản thời gian đổi khác.Cung cấp cho các so sánh giữa những công dụng năng suất bây chừ và vận dụng ước muốn.

Nâng cao tác dụng vận động bởi:

1. TOOL AUTOMATION TESTING - JMETER

1.1 Giới thiệu về JmeterJmeter là mức sử dụng nhằm đo độ sở hữu cùng performance của đối tượng người sử dụng, rất có thể sử dụng nhằm chạy thử performance bên trên cả nguồn tĩnh với nguồn động, hoàn toàn có thể soát sổ độ sở hữu cùng tính năng trên những các loại VPS khác nhau như: Web – HTTP, HTTPS, SOAPhường., Database via JDBC, LDAP.., JMS, Mail – SMTP(S), POP3(S) cùng IMAP(S)…

Jmeter là một trong những phần mượt mã nguồn msống được viết bởi java. Cha đẻ của JMeter là Stefano Mazzocđưa ra. Sau kia Apabít sẽ xây dựng lại nhằm cải tiến rộng hình ảnh hình ảnh cho những người sử dụng với kĩ năng kiểm thử hướng tác dụng.

1.2 Đặc trưng

Jmeter có 1 số đặc trưng nhỏng sau:Nguồn msống, miễn phíGiao diện dễ dàng và đơn giản, trực quan liêu dễ dàng sử dụngcũng có thể kiểm test nhiều phong cách server: Web - HTTP, HTTPS, SOAP.., Database - JDBC, LDAPhường., JMS, Mail - POP3, …Một lao lý chủ quyền hoàn toàn có thể điều khiển xe trên những nền tảng hệ điều hành không giống nhau, bên trên Linux chỉ cần chạy bằng một shell script, bên trên Windows thì chỉ cần chạy một file .batĐa luồng, giúp cách xử trí chế tác các request cùng một khoảng tầm thời hạn, cách xử lý những tài liệu nhận được một biện pháp tác dụng.Jmeter Performance Testing có 2 phần:Load Testing: Mô hình hóa dự kiến sử dụng vì nhiều người tiêu dùng truy cập một dịch vụ website vào thuộc thời điểm.Stress Testing: Tất cả những web VPS rất có thể mua một dung lượng lớn, khi cơ mà cài đặt trọng thừa ra phía bên ngoài giới hạn thì web VPS bước đầu ý kiến lờ lững và gây nên lỗi. Mục đích của bức xúc testing là có thể tìm thấy độ download bự mà website server hoàn toàn 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 yếu tố bao gồm của JmeterTEST PLANTest Plan quan niệm đề xuất demo gì và cách để tiến hành thế nào.

Test Plan node: địa điểm lưu giữ demo plan thiệt sự bạn có nhu cầu testWorkbench node: nơi đựng chế tạo ra những element mà bạn không dùng, chỉ để cùng với mục đích copy/paste. lúc lưu giữ Test Plan thì Workbench ko được lưu
*

TEST PLAN ELEMENT:Tại cường độ basic, mình chỉ ra mắt cụ thể một vài ba elements trong các những elements sau đây:i. Thread Groups:

Mọi TestPlan phần đa nên ít nhất 1 Thread Group, trọng trách của Thread Groups sẽ khởi tạo ra các thưởng thức để request tới server.Cách tạo: Chuột yêu cầu vào Test Plan –> Add –> Threads(users) –> Thread Group
*

*

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

ii. SamplerSamplers có thể chấp nhận được JMeter gửi những các loại trải đời ví dụ cho tới serverCó không ít Samplers nlỗi sau:

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

Đây là hình hình họa mang lại HTTP Request:

*

*

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

Name: Đặt tên hành vi bọn họ muốn làmProtocol: Không chọn gì gồm nghĩa default là HTTPPath: Trang công ty thì chỉ việc /, trang nhỏ trong các số đó thì “/tên trang”

iii. Logic Controllers:

Nếu những request được khái niệm trong những kiểm tra plan của khách hàng được xúc tiến phụ thuộc 1 vài logic, thời gian này sẽ đề xuất cho Logic Controllers. Thích phù hợp với kết cấu if-then-else và loop trong Java hoặc ngôn ngữ không giống.

*

iv. Listeners:Tập những tác dụng của việc run thử nghiệm, hỗ trợ cho tất cả những người cần sử dụng các công cụ hiển thị một cách trực quan lại, dễ nắm bắt như: tables, graphs, trees hoặc một vài ba log files đối kháng giảnTấm hình sau đấy là một công dụng thử nghiệm dạng table

*

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

Label : tên request#Samples : số requestAverage : thời gian vừa phải xử lý những requestmin : thời hạn bé dại độc nhất vô nhị cách xử trí requestmax : thời gian lớn số 1 xử trí requestError : Xác Suất bị lỗi của những request(lỗi kết nối hoặc lỗi mang đến áp ra output không mong muốn)thoughput : số request/s của serverkb/s = (avg.bytes*thoughput)/1024

v. Timer: dùng để định nghĩa thời hạn ngóng thân những request**vi. Assertions:**Xác nhận công dụng trả về đã đúng tuyệt không bởi một số trong những Validation**vii. Configuration Elements:**Tạo những giá trị mặc định và các biến chuyển dùng mang lại Samplerviii. Pre-processor Elements: Dùng nhằm cập nhật một chiếc gì đó tức thì trước lúc Sampler được thực hiệnix. Post-processor Elements: Dùng nhằm xử lý hiệu quả trả về sau khi Sampler được thực hiện

1.5 Demo - BasicSCENARIO 1:

Số lượng user: 100SCENARIO 2:Access vào trang không giống 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 Test Plan: DemoLazada
*
**Step 2:**Giả lập các user thuộc truy cập vào website đồng thời.Cliông chồng chuột đề xuất vào Test Plan –> Add –> Threads(users) –> Thread GroupName : viết tên mang lại ThreadGroup ( ở đây mình đặt ThreadGroup1).Number of Threads(users) : con số người tiêu dùng nhưng ta mong mô phỏng.Ramp-up Period (in seconds): Cho biết thời gian nhằm JMeter tạo nên tất cả đều thread cần thiết. ví dụ như giả dụ tđam mê số này là 10 thì vào 10 giây toàn bộ các Number of Threads vẫn knhì báo nghỉ ngơi bên trên sẽ được gửi đi vào 10 giây, nếu đặt tđắm say số này là 0 thì toàn bộ những đòi hỏi sẽ tiến hành gửi đi cùng một cơ hội.Loop Count Forever : 1 những thread được tạo ra sẽ triển khai 1 lần( thay như là 1 bằng n thì số các thread vẫn lặp n lần).
*

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

Lưu ý: đề nghị kéo HTTP. Request Default lên phía trên những ThreadGroup nhằm dễ ợt triển khai kiểm tra, chỉ việc tạo nên 1 lần mang đến toàn bộ các ThreadGroup ao ước test trang lazada.vn

*

Step 4: Tạo HTTPhường Request rõ ràng cho đối tượng người dùng mà bạn có nhu cầu truy vấn trên trang lazada.Trong trường phù hợp này, điểm đến là mục Quần áo prúc kiện cho béChuột đề xuất vào Thread group –> add –> sample –> HTTP.. RequestPath: quan-ao-phu-kien-cho-be/?spm=a2o4n.trang chủ.0.0.9TS4zZ

*

Step 5: Chạy testCliông chồng vào button Start (vết mũi tên color xanh) trên thanh khô menuClichồng vào icon Stop bên trên tkhô giòn menu để dừng lại

Step 6:Xem tác dụng của kịch bản test

Xem kết quả tổng phù hợp của tất cả những threadChuột phải 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 vừa đủ cách xử lý các requestmin : thời gian nhỏ tốt nhất xử trí requestmax : thời hạn nhỏ dại độc nhất vô nhị xử trí requestError : xác suất bị lỗi của các request(lỗi kết nối hoặc lỗi mang lại đầu ra ko mong mỏi muốn)thoughput : số request/s của serverkb/s = (avg.bytes*thoughput)/1024

*

Step 7: Xem hiệu quả của từng Request trong kịch bảnChuột bắt buộc Thread Group –> Add –> Listener –> View Results Tree

Ví dụ : sau khoản thời gian chạy chương trình, vào phần view results tree hiển thị lên tiếng các request với công dụng của bọn chúng.Các request xanh là request không lỗi, các request đỏ bị lỗi. Cliông xã vào mỗi request tương ứng lân cận sẽ có được 3 phần thông tin về request đó: sample result, request, response data.

Xem thêm: Download Plants Vs Zombies 2 Terbaru Di Android & Pc/Laptop, Download Plants Vs

*

1.6 Demo - Advance

SCENARIO: Simulate 10 users log-in to lớn system at the same time with different username & password

Để log-in vào 1 trang web thì thường được sử dụng method POST nhằm gửi REQUEST lên với đều parameters cần thiết nhằm VPS biết với trả về RESPONE tương ứng. Ở phía trên để tìm hiểu 1 website lúc log-in vẫn đề nghị gửi lên các ban bố gì, thì ta đang cần sử dụng firebug (1 add-on của firefox) để gia công vấn đề này.

*

Sau lúc biết được cần phải gửi rất nhiều 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, nlỗi sau :

*

Nhưng trong số những parameters này thì tất cả authencity_token là cực hiếm chuyển đổi theo từng REQUEST nhằm tránh việc spam cũng giống như bảo mật thông tin cho REQUEST, nên tất yêu copy authencity_token của request này mang lại request kia. Do kia, chúng ta nên tạo nên số đông authencity_token riêng mang lại từng request. Để có tác dụng được câu hỏi này, Jmeter cung ứng đến bọn họ function đó là REGULAR EXPRESSION EXTRACTOR

REGULAR EXPRESSION được Gọi là biểu thức chủ yếu quy, Là CPU sau, thành phần này vẫn triển khai sau từng yêu cầu 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 những quý hiếm được những hiểu biết, sản xuất chuỗi chủng loại cùng tàng trữ tác dụng vào tên biến chuyển nhất thiết (ví dụ : chế tạo ra authencity_token, item_id để lấn sân vào detail, chế tác transaction_id cho các thanh toán ,…)

*

Sau Lúc mang được authencity_token cho từng request thì chúng ta triển khai log-in 10 users đồng thời với username với password không giống nhau

CSV DATA SET CONFIGĐể triển khai bài toán này, họ cần sử dụng CSV Data Set Config. Chúng ta sẽ tạo nên 1 tệp tin csv chứa username và password của 10 users nên cần sử dụng, cùng import tệp tin CSV đó vào CSV Data Set Config cùng gán đổi mới cho các parameters sinh hoạt POST nhằm JMeter phát âm và thực hiện.

*

Thực hiện gán biến hóa cho username và pass

*

ASSERTION

Nhưng lúc chạy như vậy thì tất cả đều request trả về hồ hết được gật đầu đồng ý với báo pass, bọn họ khó sáng tỏ được request nào đăng nhập thành công xuất sắc, request làm sao singin ko thành công. Do kia, chúng ta đang thêm một phần Assertion để biệt lập điều đó.a. lúc singin thành công:

*

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

*

EXPORT TEST RESULTSau đó Run với nhận công dụng. Chúng ta cũng hoàn toàn có thể export công dụng test ra file csv bằng cách. File sẽ tiến hành giữ tự động hóa vào thỏng mục Bin của Jmeter

*

2. TOOL AUTOMATION TESTING - LOADCOMPLETE

2.1 Giới thiệuLoadComplete là một trong những nguyên lý đánh giá lượng tải, có thể chấp nhận được tạo cùng chạy auto mang lại web servers và services. Giúp người tiêu dùng kiểm soát được tính năng của website VPS bên dưới một lượng sở hữu bự.

*

2.2 Các Tính Năng:

Load testing: Kiểm tra hành động của website VPS dưới cài đặt trọng lớnStress testing: Kiểm tra hành vi của web VPS bên dưới một lượng download cực kỳ lớnScalability testing: Xác định năng suất của website VPS bằng phương pháp tăng thêm Hartware hoặc phần mềm

2.3. Hỗ trợ

Web Servers & Platforms: LoadComplete cung cấp tất cả những loại website VPS (IIS, Apache) và nền tảng (Windows, Linux/UNIX)We Client Applications: LoadComplete hỗ trợ tất cả những trình coi xét website phổ cập (Internet Explorer, Edge, Firefox, Chrome or custom website application)Hỗ trợ Rich Internet Applications: LoadComplete rất có thể ghi với chạy lại những phân tích mang lại bất kỳ nhiều loại như thế nào của Rich Internet Applications, bao gồm Adobe Flash & Flex, Microsoft Silverlight and Ajax.Hỗ trợ JSP/Servlet Applications: LoadComplete rất có thể ghi và chạy lại luồng tài liệu mang đến vận dụng JSP/ServletHỗ trợ HTML5 Applications: LoadComplete rất có thể lưu lại và chạy lại luồng dữ liệu mang lại web tiện ích nhưng mà được cải tiến và phát triển bởi vì HTML5 và APIs, bao gồm giao thức WebSocket.

2.4. Ưu điểm

Cài đặt dễ dàng dàngDễ thực hiện bằng cách ghi lại hành vi của bạn dùngcũng có thể tùy chỉnh các nguyên tắc nhằm soát sổ tùy ở trong vào hành động của máy chủcũng có thể xem được quá trình chạy kiểm traReport dễ đọc

2.5. Nhược điểm

Là một ứng dụng tính phí

3. TOOL AUTOMATION TESTING - GRINDER

3.1 Giới thiệu

The Grinder là một tool kiểm demo hiệu năng dựa vào căn nguyên JavaTM. Và đặc biệt nó trọn vẹn miễn tầm giá. Grinder bao gồm:

The Grinder Console: Ứng dụng GUI dùng làm tinh chỉnh và điều khiển những Agents với hiển thị hiệu quả. Grinder Console cũng 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 cồn màn hình Console dùng lệnh “java net.grinder.Console
*
Grinder Agents: Để khởi rượu cồn Agent dùng lệnh “java net.grinder.Grinder
*

3.2 Key Future

Generic Approach: Kiểm tra tất cả những ứng dụng cơ mà bao gồm Java API, bao gồm HTTP web servers, SOAP.. với REST web services, với application servers (CORBA, RXiaoMI, JMS, EJBs)Flexible Scripting : Script được viết bởi ngôn từ Pyeo hẹp cùng ClojureDistributed Framework : Có cung ứng UI cho phép giám sát với kiểm soát các các injectors với hỗ trợ việc sửa đổi Script với phân phối.TCP proxy để bảo quản các hành động liên tưởng bên trên browser vào Grinder thử nghiệm scriptHỗ trợ những giao thức không giống nhau

3.3 Ưu điểm:

Miễn phíCó thể cấu hình thiết lập script một cách dễ dàngScript dùng ngôn từ PythonCung cung cấp tác dụng record actionCó thể sử dung Browser ProxyLinc hoạt, hoàn toàn có thể thuận lợi start up bên trên một khối hệ thống khác

3.4 Nhược điểm:

Không có nhiều sự sàng lọc hiển thị tác dụng ReportGUI không gần gũi với người dùng

4. TOOL AUTOMATION TESTING - WEB PERFORMANCE

4.1 Giới thiệu

Với mục đích bình chọn tính năng của một trang web, webperformance cũng là 1 trong số những phương tiện cung cấp.

Webperformance cung cấp các tác dụng chạy thử performance như:

Trang website có thể giải pháp xử lý được từng nào user ?Trang web hoàn toàn có thể bị phá vỡ lẽ dưới điều kiện cài nào.Trang website hoàn toàn có thể ship hàng bao nhiêu transaction trong 1 giây.cũng có thể cấu hình nhằm triển khai load test với vitual browser với real browser dựa trên Selenium WebDrive.

Với căn cơ hỗ trợ là Windows, MAC, chúng ta cũng có thể dễ dàng tải về cùng setup ứng dựng từ bỏ trang web chính thức: http://www.webperformance.com/download/

*

4.2 Qui trình thực hiện load test

Tạo một testcase bởi phương pháp record màn hình những action:

*

Cấu hình testcase đến replay.Cấu hình testcase với khá nhiều user.

*

Chạy và phân tích kết quả load demo.

*
*

4.3 Ưu điểm

Dễ mua đặtDễ áp dụng bằng cách ghi lại phần nhiều action user thực hiệnHỗ trợ phần lớn những trình trông nom thông dụng hiện nay nayCó thể coi được report trong quá trình chạy kiểm traReport hiệu quả triển khai cụ thể, chi tiết, dễ hiểu

4.4. Nhược điểm

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

Qua nội dung bài viết này, hi vọng gần như người có một cái chú ý tổng quan về những Performance Testing Tool. Khi bao gồm một kinh nghiệm tìm hiểu về Tool ship hàng đến Performance Test, chắc hẳn gần như người đang chọn lọc được cho khách hàng một tool tương xứng cùng với dự án của mình.

Tài liệu tđắm đuối 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