I. TỔNG QUAN VỀ PERFORMANCE TESTING

1. Performane Testing là gì?

Performance Testing là 1 trong những các loại kiểm thử nhằm khẳng định mức độ đáp ứng, băng thông, độ tin cậy và/hoặc năng lực không ngừng mở rộng của khối hệ thống dưới một khối lượng làm việc/truy vấn cố định. Performance Testing hay được áp dụng để:

Đánh giá bán cường độ sẵn sàng của sản phẩmĐánh giá chỉ nhờ vào các tiêu chí hiệu suấtSo sánh giữa các công dụng năng suất của nhiều khối hệ thống hoặc thông số kỹ thuật hệ thốngThấy được 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 cường độ băng thông

Performance Testing thường xuyên được sử dụng để giúp khẳng định tắc nghẽn vào một hệ thống, thiết lập một mặt đường đại lý để kiểm demo trong tương lai, cung ứng điều chỉnh hiệu suất công dụng, xác định sự phù hợp phương châm và yên cầu công suất, cùng tích lũy tài liệu chuyển động liên quan khác để giúp những mặt liên quan đưa ra quyết định tương quan mang lại quality chung của những áp dụng đang rất được kiểm demo. Ngoài ra, những công dụng từ việc kiểm thử năng suất và so với có thể giúp đỡ bạn dự trù cấu hình Hartware cần thiết để cung ứng các áp dụng khi bạn đưa thành phầm lấn sân vào thực hiện rộng rãi.Quý Khách vẫn xem: Performance testing là gì

2. Tại sao lại rất cần phải triển khai Performance Testing

Tại Lever tối đa, kiểm thử tính năng gần như luôn luôn được tiến hành để giải quyết và xử lý một hoặc những khủng hoảng liên quan cho tới ngân sách, thời cơ hoặc nổi tiếng của một chủ thể. Một số lý do rõ ràng rộng đến thực hiện kiểm test năng suất bao gồm:

Đánh giá sự sẵn sàng chuẩn bị sản xuất 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 áp dụng vào thêm vào cùng Đánh Giá có hay là không tiến hành kiểm tra năng suất dựa trên rất nhiều dự đoán đó. Những dự đoán thù này cũng có quý giá để các bên liên quan đưa ra quyết định về vấn đề liệu một ứng dụng vẫn chuẩn bị nhằm xây cất hoặc năng lực xử trí vững mạnh sau đây, hoặc nó rất cần phải cải thiện hiệu suất/phần cứng trước lúc chế tạo.Cung cấp dữ liệu cho biết năng lực của người tiêu dùng không chấp thuận cùng với năng suất của hệ thống.Cung cấp tài liệu để cung cấp trong việc dự đoán những tổn định thất lệch giá tuyệt uy tín chữ tín bởi vì tài năng không ngừng mở rộng, khả năng bất biến hoặc do người tiêu dùng ko phù hợp cùng với thời gian phản hồi của ứng dụng.

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

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

Đanh giá chỉ sự phù hợp của công suất hiện tại tạiXác định khả năng ổn địnhXác định năng lực của hạ tầng của ứng dụng, tương tự như xác minh những nguồn lực có sẵn cần thiết về sau để hỗ trợ hiệu suất đồng ý được.So sánh cấu hình của những khối hệ thống khác biệt để xác minh vận động tốt nhất cho áp dụng cùng doanh nghiệpThđộ ẩm định vấn đề áp dụng những công năng công suất mong ước trong buộc ràng áp dụng chi phí nguồn lực có sẵn.

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

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

Nâng cao tác dụng hoạt động bởi:

1. TOOL AUTOMATION TESTING - JMETER

1.1 Giới thiệu về JmeterJmeter là luật pháp nhằm đo độ download cùng performance của đối tượng người tiêu dùng, hoàn toàn có thể thực hiện nhằm demo performance bên trên cả nguồn tĩnh với nguồn hễ, hoàn toàn có thể kiểm tra độ mua với hiệu năng bên trên nhiều loại server không giống nhau như: Web – HTTP, HTTPS, SOAP, Database via JDBC, LDAPhường., JMS, Mail – SMTP(S), POP3(S) cùng IMAP(S)…

Jmeter là 1 phần mềm mã nguồn msinh sống được viết bởi java. Cha đẻ của JMeter là Stefano Mazzocđưa ra. Sau đó Apađậy vẫn kiến tạo lại để đổi mới rộng hình ảnh hình ảnh cho những người dùng cùng khả năng kiểm demo phía tính năng.

1.2 Đặc trưng

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


*

*

1.4 Các nhân tố bao gồm của JmeterTEST PLANTest Plan có mang cần test gì với cách để triển khai ra sao.

Test Plan node: khu vực lưu lại test plan thật sự bạn có nhu cầu testWorkbench node: nơi đựng tạo ra những element nhưng bạn ko cần sử dụng, chỉ nhằm với mục tiêu copy/paste. khi giữ Test Plan thì Workbench ko được lưu
*

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

Mọi TestPlan mọi đề xuất ít nhất 1 Thread Group, nhiệm vụ của Thread Groups sẽ tạo nên ra những tận hưởng nhằm request tới VPS.Cách tạo: Chuột cần vào Test Plan –> Add –> Threads(users) –> Thread Group
*

*

Giải say đắm một số trực thuộc tính bên trên màn hình:Name : đánh tên mang lại ThreadGroupNumber of Threads(users) : số lượng người tiêu dùng mà lại ta ước ao mô bỏng.Ramp-up Period (in seconds): Cho biết thời gian nhằm JMeter tạo thành tất cả hầu hết thread quan trọng. lấy ví dụ như trường hợp tđắm say số này là 10 thì vào 10 giây toàn bộ các Number of Threads đang knhị báo ngơi nghỉ bên trên sẽ tiến hành gửi đi trong 10 giây, nếu để tđắm đuối số này là 0 thì tất cả những từng trải sẽ tiến hành gửi đi cùng một cơ hội.Loop Count Forever : 1 các thread được sản xuất đang thực hiện 1 lần (thay 1 bằng n thì số các thread đang lặp n lần).

ii. SamplerSamplers có thể chấp nhận được JMeter gửi những loại trải nghiệm cụ thể tới serverCó không hề ít Samplers nhỏng sau:

HTTPhường RequestFTPhường. RequestJDBC Request-Java Request-SOAP/XML RequestRPC Requests

Đây là hình hình họa mang đến HTTPhường Request:


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

Label : thương hiệu request#Samples : số requestAverage : thời gian mức độ vừa phải cách xử lý các requestmin : thời gian nhỏ tuổi duy nhất xử trí requestmax : thời hạn lớn số 1 cách xử trí requestError : phần trăm bị lỗi của các request(lỗi liên kết hoặc lỗi đến áp ra output ko ước ao muốn)thoughput : số request/s của serverkb/s = (avg.bytes*thoughput)/1024

v. Timer: dùng để làm định nghĩa thời hạn chờ thân những request**vi. Assertions:**Xác thừa nhận kết quả trả về vẫn đúng tốt chưa bởi một vài Validation**vii. Configuration Elements:**Tạo các cực hiếm mang định cùng những biến hóa dùng cho Samplerviii. Pre-processor Elements: Dùng nhằm up date một cái nào đó tức thì trước khi Sampler được thực hiệnix. Post-processor Elements: Dùng nhằm xử lý tác dụng trả về sau khoản thời gian 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 bên 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 những user thuộc truy vấn vào website đôi khi.Cliông xã chuột phải vào Test Plan –> Add –> Threads(users) –> Thread GroupName : đánh tên mang đến ThreadGroup ( tại đây mình đặt ThreadGroup1).Number of Threads(users) : con số người dùng mà ta mong mỏi mô phỏng.Ramp-up Period (in seconds): Cho biết thời gian để JMeter tạo ra toàn bộ phần đa thread quan trọng. lấy ví dụ như giả dụ tmê mệt số này là 10 thì vào 10 giây tất cả các Number of Threads đã knhị báo làm việc trên sẽ được gửi đi vào 10 giây, nếu đặt ttê mê số này là 0 thì toàn bộ các yên cầu sẽ tiến hành gửi đi và một dịp.Loop Count Forever : 1 những thread được chế tạo ra đã thực hiện 1 lần( thay một bằng n thì số các thread đã lặp n lần).

Xem thêm:


Step 3: Tạo request cho server1 thread(tương ứng 1 user) hoàn toàn có thể sinh sản những request http trình lên VPS .Chuột buộc phải vào Thread group –> add –> Confict Element –> HTTP. Request DefaultName : khắc tên requestServer name or Ip : điền hệ trọng trang web buộc phải truy vấn.Nếu biết ip cùng cổng thì : điền ip vào Server Name or Ip và số cổng vào Port Number, đường truyền mang lại website đề xuất truy vấn vào Path.ví dụTruy ctràn lên trang http://lazadachỉ việc điềnServer Name or Ip : lazadomain authority.vnPort number : 80

Lưu ý: nên kéo HTTPhường Request Default lên phía trên những ThreadGroup để dễ dãi thực hiện kiểm tra, chỉ cần chế tạo 1 lần mang lại toàn bộ các ThreadGroup mong mỏi kiểm tra trang lazadomain authority.vn

Step 4: Tạo HTTPhường Request ví dụ mang lại đối tượng người sử dụng nhưng bạn muốn truy cập trên trang lazada.Trong trường hòa hợp này, điểm đến lựa chọn là mục Quần áo phú kiện cho béChuột cần 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 testClick vào button Start (vệt mũi tên màu sắc xanh) trên tkhô hanh menuCliông chồng vào inhỏ Stop trên thanh hao thực đơn để 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 toàn bộ các threadChuột buộc phải vào Thread Group –> Add -> Listener –> Summary Report

Bảng thống kê kết quảLabel : thương hiệu request#Sample : số requestAverage : thời hạn vừa phải giải pháp xử lý các requestmin : thời hạn bé dại độc nhất vô nhị giải pháp xử lý requestmax : thời gian nhỏ dại tuyệt nhất cách xử trí requestError : phần trăm bị lỗi của các request(lỗi kết nối hoặc lỗi đến áp ra output không mong muốn muốn)thoughput : số request/s của serverkb/s = (avg.bytes*thoughput)/1024


Step 7: Xem tác dụng của từng Request vào kịch bảnChuột cần Thread Group –> Add –> Listener –> View Results Tree

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ì hay được sử dụng method POST để gửi REQUEST lên cùng với phần đông parameters cần thiết để server biết và trả về RESPONE tương xứng. Tại phía trên để tìm hiểu 1 trang web khi log-in đang đề xuất trình lên đầy đủ báo cáo gì, thì ta đã cần sử dụng firebug (1 add-on của firefox) để gia công vấn đề này.


Sau khi biết được cần được gửi phần đông parameters nào lên thì bọn họ thực hiện simulate vấn đề gửi này cùng với Jmeter, như sau :


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

REGULAR EXPRESSION được Hotline là biểu thức chủ yếu quy, Là Chip xử lý sau, bộ phận này vẫn thực hiện sau mỗi đề xuất Mẫu vào phạm vi của nó, vận dụng biểu thức bao gồm quy, trích xuất những giá trị được thưởng thức, sinh sản chuỗi chủng loại cùng lưu trữ kết quả vào thương hiệu trở thành nhất thiết (ví dụ : sản xuất authencity_token, item_id nhằm bước vào detail, tạo transaction_id cho những thanh toán ,…)


Sau khi đem được authencity_token cho mỗi request thì chúng ta thực hiện log-in 10 users đồng thời cùng với username với password khác nhau

CSV DATA SET CONFIGĐể triển khai vấn đề này, bọn họ dùng CSV Data Set Config. Chúng ta sẽ khởi tạo 1 file csv cất username với password của 10 users cần sử dụng, cùng import file CSV kia vào CSV Data Set Config với gán trở thành cho các parameters sinh hoạt POST nhằm JMeter đọc và thực hiện.


ASSERTION

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

EXPORT TEST RESULTSau kia Run với dìm công dụng. Chúng ta cũng rất có thể export tác dụng kiểm tra ra file csv bằng cách. File sẽ tiến hành giữ auto vào tlỗi mục Bin của Jmeter

2. TOOL AUTOMATION TESTING - LOADCOMPLETE

2.1 Giới thiệuLoadComplete là một trong những luật kiểm tra lượng mua, cho phép chế tác với chạy tự động hóa mang lại web servers với services. Giúp người dùng kiểm soát được tính năng của web hệ thống bên dưới một lượng tải phệ.

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 động của website VPS dưới một lượng download cực kì lớnScalability testing: Xác định năng suất của website hệ thống bằng cách tạo thêm phần cứng hoặc phần mềm

2.3. Hỗ trợ

Web Servers và Platforms: LoadComplete cung cấp tất cả những nhiều loại web server (IIS, Apache) với căn cơ (Windows, Linux/UNIX)We Client Applications: LoadComplete cung cấp tất cả những trình ưng chuẩn web thịnh hành (InteExplorer, Edge, Firefox, Chrome or custom website application)Hỗ trợ Rich InteApplications: LoadComplete có thể ghi cùng chạy lại các thí nghiệm cho bất kỳ một số loại làm sao của Rich InteApplications, bao gồm Adobe Flash và Flex, Microsoft Silverlight and 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 vận dụng JSP/ServletHỗ trợ HTML5 Applications: LoadComplete rất có thể khắc ghi cùng chạy lại luồng dữ liệu mang đến website phầm mềm nhưng được phát triển bởi HTML5 cùng APIs, bao hàm giao thức WebSocket.

2.4. Ưu điểm

Cài đặt dễ dàng dàngDễ sử dụng bằng cách khắc ghi hành vi của fan dùngcũng có thể thiết lập cấu hình những phép tắc để khám nghiệm tùy trực thuộc vào hành động của dòng sản phẩm chủ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à 1 tool kiểm demo tính năng dựa trên căn cơ JavaTM. Và quan trọng đặc biệt nó trọn vẹn miễn mức giá. Grinder bao gồm:

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

3.2 Key Future

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

3.3 Ưu điểm:

Miễn phíCó thể cấu hình thiết lập script một phương pháp dễ dàngScript sử dụng ngôn ngữ PythonCung cấp chức năng record actionCó thể sử dung Browser ProxyLinh hoạt, có thể dễ ợt start up bên trên một hệ thống khác

3.4 Nhược điểm:

Không có rất nhiều sự sàng lọc hiển thị hiệu quả ReportGUI ko thân thiết với những người dùng

4. TOOL AUTOMATION TESTING - WEB PERFORMANCE

4.1 Giới thiệu

Với mục đích đánh giá hiệu năng của một website, webperformance cũng là một trong giữa những lao lý hỗ trợ.

Webperformance cung ứng các tác dụng demo performance như:

Trang web rất có thể cách xử trí được bao nhiêu user ?Trang website có thể bị phá vỡ lẽ dưới ĐK thiết lập làm sao.Trang web có thể ship hàng bao nhiêu transaction trong 1 giây.cũng có thể thông số kỹ thuật nhằm triển khai load demo với vitual browser và real browser dựa trên Selenium WebDrive sầu.

Với nền tảng gốc rễ cung cấp là Windows, MAC, chúng ta cũng có thể dễ dàng download cùng thiết đặt ứng dựng tự trang web bao gồm thức: http://www.webperformance.com/download/

4.3 Ưu điểm

Dễ cài đặt đặtDễ thực hiện bằng cách ghi lại phần đông action user thực hiệnHỗ trợ phần lớn những trình thông qua thông dụng hiện nay naycũng có thể xem được report trong quá trình chạy kiểm traReport công dụng triển khai cụ thể, cụ thể, dễ hiểu

4.4. Nhược điểm

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

Qua nội dung bài viết này, hi vọng đầy đủ người dân có một chiếc quan sát tổng quan lại về những Performance Testing Tool. lúc tất cả một thử dùng tìm hiểu về Tool phục vụ mang lại Performance Test, chắc rằng số đông tín đồ sẽ sàng lọc được cho mình một tool cân xứng với dự án công trình của bản thân.

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

Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *