TỰ ĐỘNG KIỂM THỬ PHẦN MỀM
Kiểm thử phần mềm
Một chương trình mới thường có một số lỗi trong khoảng 100 dòng, bao gồm lỗi từ lập trình và thiết kế Nếu chương trình chứa lỗi này được sử dụng để vận hành hệ thống trực tuyến, các hư hỏng nghiêm trọng có thể xảy ra, ảnh hưởng không chỉ đến công ty vận hành mà còn tác động đến cộng đồng bên ngoài.
Việc kiểm thử phần mềm là cần thiết trước khi chuyển giao sản phẩm công nghiệp, nhằm đảm bảo chương trình và hệ thống hoạt động đúng theo các đặc tả Mặc dù không thể loại bỏ hoàn toàn lỗi trong chương trình, nhưng việc kiểm thử chính xác và hiệu quả có thể giảm thiểu số lỗi xuống mức tối thiểu.
Kiểm tra (Testing) là một hoạt động sống còn trong các dự án sản xuất và gia công phần mềm, đóng vai trò quan trọng mà không ai có thể phủ nhận Tuy nhiên, không phải ai cũng hiểu rõ về quy trình này Kiểm thử phần mềm không chỉ là một phần của quy trình phát triển mà còn là một lĩnh vực độc lập và hấp dẫn Ngoài các dự án gia công sản xuất phần mềm, hiện nay có nhiều dự án chỉ tập trung vào việc kiểm tra các phần mềm đã được khách hàng phát triển sẵn.
Kiểm thử phần mềm là một công việc quen thuộc với những ai tham gia vào quá trình phát triển phần mềm Nó bao gồm việc xác minh và đánh giá chất lượng sản phẩm để đảm bảo rằng phần mềm hoạt động đúng như mong đợi.
Việc "chạy thử" phần mềm là quá trình kiểm tra chức năng của nó để đảm bảo hoạt động đúng như mong đợi Kiểm tra có thể được thực hiện theo từng giai đoạn, sau mỗi module hoặc chức năng được phát triển, hoặc thực hiện tổng thể khi phần mềm đã hoàn tất.
Kiểm thử sản phẩm phần mềm là quá trình xây dựng các tập dữ liệu và chuỗi thao tác một cách có chủ đích để đánh giá các tiêu chuẩn của phần mềm.
Kiểm tra phần mềm có nhiều mức độ khác nhau và có mối tương quan với các chặng phát triển trong dự án phát triển phần mềm
Hình 1.1 Tương quan giữa các chặng trong PTPM và KTPM
Kiểm tra phần mềm nói chung có 4 mức độ sau đây:
Hình 1.2 Các mức độ cơ bản của kiểm thử phẩn mềm Kiểm thử mức đơn vị (Unit Test)
Một đơn vị là một thành phần phần mềm nhỏ nhất mà ta có thể kiểm thử được
Ví dụ, các hàm (Function), thủ tục (Procedure), lớp (Class) hay phương thức (Method) đều có thể được xem là Unit
Unit Test là quá trình kiểm thử do lập trình viên thực hiện, cần được tiến hành sớm trong giai đoạn viết code và xuyên suốt chu kỳ phát triển phần mềm Để thực hiện Unit Test hiệu quả, kiểm thử viên cần có kiến thức về thiết kế và mã nguồn của chương trình Mục tiêu chính của Unit Test là đảm bảo rằng thông tin được xử lý và xuất ra là chính xác, phù hợp với dữ liệu đầu vào và chức năng của từng Unit Tất cả các nhánh bên trong Unit phải được kiểm tra để phát hiện lỗi, với mỗi nhánh thường là một chuỗi lệnh được thực thi Việc lựa chọn các nhánh để đơn giản hóa kiểm thử và quét toàn bộ Unit đòi hỏi kỹ thuật và đôi khi cần sử dụng thuật toán để tối ưu hóa quá trình này.
Unit Test yêu cầu chuẩn bị các ca kiểm thử (Test case) hoặc kịch bản kiểm thử (Test script) với thông tin rõ ràng về dữ liệu đầu vào, quy trình thực hiện và dữ liệu đầu ra mong muốn Việc lưu trữ các Test case và Test script này là cần thiết để đảm bảo khả năng tái sử dụng trong tương lai.
Kiểm thử tích hợp – Intergration Test
Integration test kết hợp các thành phần của ứng dụng và kiểm thử chúng như một ứng dụng hoàn chỉnh Trong khi Unit Test chỉ kiểm tra các thành phần riêng lẻ, Integration Test kiểm tra sự giao tiếp giữa các thành phần này Hai mục tiêu chính của Integration Test là đảm bảo sự tương tác đúng đắn giữa các module và phát hiện lỗi trong quá trình tích hợp.
Phát hiện lỗi giao tiếp xảy ra giữa các Unit
Tích hợp các đơn vị riêng lẻ thành các hệ thống nhỏ (Subsystem) và cuối cùng tạo ra hệ thống hoàn chỉnh (System) là bước quan trọng để chuẩn bị cho quá trình kiểm thử ở mức hệ thống (System Test).
Kiểm tra tích hợp (Integration Test) chỉ nên được thực hiện sau khi các đơn vị (Unit) đã được kiểm tra kỹ lưỡng qua kiểm tra đơn vị (Unit Test) và tất cả các lỗi ở mức đơn vị đã được khắc phục Một số người nhầm tưởng rằng khi một đơn vị đã hoàn thành giai đoạn kiểm tra đơn vị với các giao tiếp giả lập, thì không cần thực hiện kiểm tra tích hợp nữa.
Một chiến lược quan trọng trong kiểm thử tích hợp (Integration Test) là tích hợp từng đơn vị (Unit) một Mỗi đơn vị mới sẽ được thêm vào nhóm các đơn vị đã được tích hợp và kiểm thử trước đó Việc này cho phép ta chỉ cần kiểm tra sự giao tiếp của đơn vị mới với các đơn vị đã tích hợp, giúp giảm đáng kể số lượng kiểm thử cần thực hiện và giảm thiểu sai sót.
Có 4 loại kiểm thử trong Integration Test:
Kiểm thử cấu trúc là quá trình đảm bảo rằng các thành phần bên trong của chương trình hoạt động đúng cách, tập trung vào việc kiểm tra các yếu tố cấu trúc nội tại của nó.
Kiểm thử chức năng (Functional Test) tập trung vào việc đánh giá các chức năng của chương trình mà không xem xét cấu trúc bên trong Mục tiêu chính của kiểm thử này là xác minh các chức năng hoạt động đúng theo yêu cầu kỹ thuật đã đề ra.
Performance testing evaluates the operational capabilities of a system, while stress testing examines the system's limits under extreme conditions.
Kiểm thử hệ thống – System test
Mục đích System Test là kiểm thử thiết kế và toàn bộ hệ thống (sau khi tích hợp) có thỏa mãn yêu cầu đặt ra hay không
Kiểm thử tự động ( Automation test)
Là một software program dùng để chạy một cách tự động thay thế các thao tác testing bằng tay
Tại sao phải kiểm thử tự động ?
Công cụ Test Tool trong phát triển phần mềm hỗ trợ kiểm tra phần mềm tự động, nhưng không phải mọi khía cạnh của quá trình kiểm tra đều có thể tự động hóa Test Tool thường được áp dụng trong những tình huống cụ thể để đảm bảo hiệu quả và độ chính xác trong việc phát hiện lỗi.
Khi số lượng tình huống kiểm tra (test case) quá nhiều mà các kiểm thử viên không thể hoàn tất bằng tay trong thời gian cụ thể nào đó
Ví dụ khi thực hiện kiểm tra chức năng của một website Website này sẽ được kiểm tra với 6 môi trường gồm 3 trình duyệt và 2 hệ điều hành
Tình huống này đòi hỏi số lần kiểm tra tăng lên và lặp lại 6 lần so với việc kiểm tra cho một môi trường cụ thể
Trong quá trình phát triển phần mềm, nhóm lập trình thường phát hành nhiều phiên bản liên tiếp để kiểm tra, với tần suất có thể là hàng ngày Mỗi phiên bản mới có thể bao gồm các tính năng mới hoặc sửa lỗi từ các phiên bản trước Tuy nhiên, việc bổ sung hoặc sửa đổi mã nguồn có thể ảnh hưởng đến các tính năng khác đã được kiểm tra trước đó, dẫn đến lỗi không mong muốn Do đó, kiểm thử viên cần không chỉ kiểm tra các tính năng mới hoặc đã sửa, mà còn phải kiểm tra lại tất cả các tính năng đã được xác nhận hoạt động tốt trước đó Điều này trở nên khó khăn về mặt thời gian, đặc biệt nếu kiểm tra được thực hiện thủ công.
- Kiểm tra khả năng vận hành phần mềm trong môi trường đặc biệt
Để đánh giá xem phần mềm có hoạt động đúng theo yêu cầu hay không, kiểm thử viên sẽ xác định các yếu tố phần cứng và phần mềm ảnh hưởng đến khả năng vận hành Một số tình huống kiểm tra điển hình trong loại này bao gồm việc kiểm tra hiệu suất và tính ổn định của phần mềm.
Đo tốc độ trung bình xử lý một yêu cầu của web server
Thiết lập 1000 yêu cầu, đồng thời gửi đến web server, kiểm tra tình huống
1000 người dùng truy xuất web cùng lúc
Để xác định số yêu cầu tối đa mà web server có thể xử lý hoặc cấu hình máy tối thiểu cần thiết để phần mềm hoạt động hiệu quả, việc kiểm tra thủ công trong những tình huống này là rất khó khăn và gần như không khả thi.
Kiểm thử tự động là hoạt động nhằm phát hiện lỗi phần mềm trong các tình huống dự đoán, thường được thực hiện sau khi thiết kế xong các test case Tuy nhiên, không phải tất cả các trường hợp kiểm tra đều cần tự động hóa Kiểm thử viên cần đánh giá và lựa chọn những test case phù hợp để áp dụng kiểm thử tự động dựa trên các tiêu chí đã đề cập.
Các bước trong quy trình kiểm thử tự động
Phát triển kiểm thử tự động cần tuân theo các bước phát triển phần mềm, và chúng ta nên coi việc này như là phát triển một dự án.
Hình 1.4 Tương quan giữa kiểm thử tự động và toàn bộ chu trình kiểm tra phần mềm
Giống như phát triển phần mềm, để thành công trong kiểm thử tự động, chúng ta nên thực hiện các bước cơ bản sau:
Thu thập các đặc tả yêu cầu hoặc test case; lựa chọn những phần cần thực hiện kiểm thử tự động
Phân tích và thiết kế mô hình phát triển kiểm thử tự động
Phát triển lệnh đặc tả (script) cho kiểm thử tự động
Kiểm tra và theo dõi lỗi trong script của kiểm thử tự động
Bảng sau mô tả rõ hơn các bước thực hiện kiểm thử tự động
Một số thuận lợi và khó khăn khi áp dụng kiểm thử tự động vào kiểm tra phần mềm
- Kiểm thử phần mềm không cần sự can thiệp của kiểm thử viên
- Giảm chi phí khi thực hiện kiểm tra số lượng lớn test case hoặc test case lặp lại nhiều lần
- Giả lập tình huống khó có thể thực hiện bằng tay
- Mất chi phí tạo các script để thực hiện kiểm thử tự động
- Tốn chi phí dành cho bảo trì các script
- Đòi hỏi kiểm thử viên phải có kỹ năng tạo script kiểm thử tự động
- Không áp dụng được trong việc tìm lỗi mới của phần mềm.
TÌM HIỂU PHẦN MỀM LOADRUNNER
Giới thiệu phần mềm Loadrunner
LoadRunner là một công cụ kiểm thử tự động chuyên dụng cho việc kiểm tra hiệu năng phần mềm, giúp phát hiện lỗi và nguyên nhân gây ra tình trạng phần mềm chạy chậm hoặc không đáp ứng yêu cầu Với khả năng kiểm tra tải và đưa ra giải pháp cải tiến, LoadRunner là một giải pháp mạnh mẽ cho các nhà phát triển Ứng dụng này còn giúp giảm đến 80% thời gian viết test script nhờ vào chức năng tự động sinh script mô tả các tình huống kiểm tra.
LoadRunner có khả năng mô phỏng hàng ngàn người dùng ảo thực hiện giao dịch đồng thời, đồng thời giám sát các thông số xử lý của phần mềm được kiểm tra Kết quả thống kê được lưu trữ, giúp kiểm thử viên thực hiện phân tích hiệu quả.
Loadrunner gồm có các thành phần sau:
Virtual User Generator (VuGen) tự động tạo ra script để ghi lại các thao tác của người dùng khi tương tác với phần mềm Script VuGen này được coi là hoạt động của một người dùng ảo mà LoadRunner mô phỏng.
- Controller: Tổ chức, đ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ó chức năng tạo ra những tình huống (Scenario) kiểm tra
Load Generator cho phép mô phỏng hàng ngàn người dùng, với hoạt động của từng người được thực hiện dựa trên kịch bản Vugen Kết quả thực hiện sẽ được thông báo đến Controller.
- Analysis: Cung cấp việc xem, phân tích và so sánh kết quả
- Launcher: Nơi tập trung tất cả các thành phần của Loadrunner cho người dùng
Hình 2.1 Mô hình hoạt động của Loadrunner
Cài đặt phần mềm Loadrunner
Controller User Generator Load Generator Loadrunner
Pentium III trở lên (đề nghị Pentium IV) 1Ghz trở lên (đề nghị 2.4 Ghz)
Windows 2000 SP4 Windows 2003 PS3 (Standard and Enterprise editions)
Window XP SP2 (đã tắt firewall)
RAM 1GB 512MB trở lên
Phụ thuộc giao thức và ứng dụng phải kiểm tra
512MB trở lên (đề nghị 1GB) Đĩa cứng 2GB 1GB 1GB 1GB
Trình duyệt Internet Explorer 6.0 service pack 1 trở lên
Sử dụng phần mềm Loadrunner
3.1 Tạo kịch bản bằng Loadrunner
Kịch bản là các hành động mà người dùng thực hiện trên trang web cần kiểm tra Sau khi tạo kịch bản, cần đảm bảo rằng nó hoạt động bình thường giống như khi người dùng tương tác trực tiếp với trang web.
Trong môi trường kiểm thử, LoadRunner sử dụng máy tính để thay thế con người thông qua các người dùng ảo (Vuser) Các Vuser này tạo ra tải trên hệ thống bằng cách mô phỏng hành động của người dùng và lặp lại nhiều lần VuGen hoạt động theo nguyên tắc ghi lại và phát lại (record-and-playback), tự động ghi lại các thao tác thực hiện trên ứng dụng vào script, từ đó xây dựng nền tảng cho việc kiểm tra tải.
Tại cửa sổ HP LoadRunner Launcher, chọn tab Load Testing chọn Create/Edit Scripts.Trang VuGen’s Start Page được hiển thị
Tại VuGen’s Start Page, chọn New Vuser Script trong tab Script Hộp thoại New Virtual User mở ra, hiển thị những tùy chọn cho một script đơn thức mới
Nút ghi kịch bản cho phép lưu lại các hành động trong trình duyệt dưới dạng mã JavaScript Khi nhấn nút này, trình duyệt Web sẽ tự động mở ra, cho phép người dùng nhập địa chỉ của trang Web cần kiểm tra.
Khi kiểm tra trang web http://127.0.0.1:1080/WebTours/, một trang đặt vé máy bay trực tuyến, một trình duyệt mới sẽ mở ra hiển thị trang HP Tours cùng với thanh công cụ Recording Các thao tác trên trang web này sẽ được ghi lại để phục vụ cho việc đánh giá sau này, bắt đầu với thao tác đăng nhập.
Màn hình thông báo quá trình Login đã thành công Số events ở thanh Recording tăng lên theo hoạt động của Vuser
Hình 2.4 Giao diện đăng nhập thành công
Người dùng có thể dễ dàng thực hiện các thao tác như đặt vé máy bay, kiểm tra lại vé đã đặt, xem toàn bộ lịch sử vé đã từng đặt và thoát khỏi tài khoản một cách thuận tiện.
Ta sẽ dừng ở đây và lưu lại các công việc đã thực hiện bằng cách nhấn vào nút Stop Recording.
VuGen captures every step from the moment you click the Start Record button until you click Stop You can review the recorded script in either Tree View or Script View.
Trong Tree View, người dùng có thể theo dõi các hành động theo từng bước, mỗi bước đều kèm theo một bản chụp tương ứng trong quá trình ghi Điều này cho phép so sánh các ảnh chụp để xác minh độ chính xác của script Ngoài ra, VuGen cũng tạo ảnh chụp cho từng bước trong quá trình chạy lại.
Script view là một danh sách hành động của Vuser dưới dạng văn bản sử dụng hàm API Trong Script View, VuGen trình bày script trong một trình biên soạn với màu sắc phân biệt cho hàm và giá trị tham số Người dùng có thể nhập mã bằng ngôn ngữ C hoặc sử dụng hàm LoadRunner API, đồng thời kiểm soát luồng xử lý một cách rõ ràng và trực tiếp trong cửa sổ này.
Hình 2.7 Giao diện Script view
Khi triển khai một ứng dụng, việc đo lường thời gian của các quy trình nghiệp vụ như đăng nhập hay đặt chuyến bay là rất quan trọng Những quy trình này thường bao gồm nhiều bước và hành động trong script Trong LoadRunner, bạn có thể chỉ định các hành động cần đo lường bằng cách tạo các transaction.
LoadRunner thu thập thông tin về thời gian thực hiện giao dịch và hiển thị kết quả qua đồ thị và báo cáo với mã màu Những thông tin này giúp đánh giá xem ứng dụng có đáp ứng yêu cầu ban đầu hay không Để chèn một Transaction, trong Task pane dưới tiêu đề Enhancements, hãy nhấp vào Transactions để mở Transaction Creation Wizard.
The Transaction Creation Wizard showcases thumbnails for various steps in the script By clicking the New Transaction button, users can mark the corresponding start and end points of transactions within the script.
Sau khi đặt tên giao dịch và bấm OK, tên giao dịch sẽ được hiện ở menu bên phải
Giao dịch được chèn vào TreeView, và để lưu lại Project, chúng ta chọn File/Save Mặc dù đã tạo ra một kịch bản kiểm thử, nhưng kịch bản này vẫn cần được chỉnh sửa để hoàn thiện hơn.
Sau khi khởi tạo kịch bản, bước tiếp theo là kiểm tra lại để xử lý các đoạn mã Script bị lỗi, điều này rất quan trọng vì nó có thể ảnh hưởng đến kết quả kiểm thử Đôi khi, việc chạy lại một cách đơn giản không thành công, mặc dù quá trình ghi lại hành động tương tự đã thành công Nhiều ứng dụng sử dụng giá trị động, như sessionID, để thay thế trong mỗi phiên làm việc Khi thử chạy lại một phiên đã được ghi lại, ứng dụng sẽ tạo ra một sessionID mới khác với sessionID đã được ghi lại LoadRunner giải quyết vấn đề này thông qua sự tương quan, lưu lại các giá trị thay đổi với một tham số Khi mô phỏng, các Vuser sẽ không sử dụng giá trị đã ghi lại mà thay vào đó sử dụng sessionID mới được gán từ server.
3.2.1 Tương quan SessionID Để minh họa cho một playback thất bại, ta sửa đổi thiết định trong ứng dụng HP Tours Thiết định này làm cho web server HP Tours không được phép tăng sessionID Trong khi sửa đổi cấu hình HP Tours, máy chủ gán duy nhất một sessionID cho Vuser
To modify HP Tours and change the server selection, access the administration link on the HP Web Tours page Check the third checkbox to set the LOGIN form's action tag to an error page, scroll to the bottom, and click update Next, create a new script and run it by clicking Start Replay, which will trigger an error In this scenario, when LoadRunner automatically interacts with the Search_Flight_Button, a variable error occurs To resolve this issue, utilize VuGen to automatically detect the need for a sessionID When running the script, VuGen will prompt you to scan the corresponding script.
ỨNG DỤNG PHẦN MỀM LOADRUNNER KIỂM TRA HIỆU NĂNG WEBSITE
Giới thiệu
Hiện nay, hầu hết các công ty đều sở hữu Website để giới thiệu và quảng bá sản phẩm, dịch vụ Nhiều công ty còn thực hiện giao dịch trực tuyến qua Website, vì vậy việc đảm bảo hiệu suất hoạt động của Website là yếu tố quan trọng cho thành công kinh doanh Phần mềm kiểm tra hiệu năng Website giúp mô phỏng các tình huống sử dụng, từ đó đảm bảo sự hoạt động thông suốt và hiệu quả cho Website.
Khi thử nghiệm ứng dụng web, kiểm tra viên thường bắt đầu bằng việc kiểm tra các trang, liên kết và nút chức năng Tiếp theo, họ thực hiện kiểm tra độ chịu tải của website để đảm bảo rằng nó có thể hoạt động hiệu quả khi có nhiều người dùng truy cập đồng thời.
Tình huống kiểm thử
Kiểm thử Website đăng ký học tín chỉ của trường Đại học Vinh Địa chỉ: http://student.vinhuni.edu.vn/CMCSoft.IU.Web.info/login.aspx
Identify the key parameters of the system, such as Hits Per Second, Failed Hits, Failed Hits Per Second, and Failed Connections, to obtain a preliminary assessment of the system's performance.
- Xác định số lượng người dùng đồng thời lớn nhất mà hệ thống có thể đáp ứng được mà vẫn đáp ứng được tiêu chuẩn
- Thời gian trung bình để tải về một trang Web là nhỏ hơn 30 giây
- Thời gian lớn nhất khi tải về một trang Web là không quá 45 giây
Các chức năng sẽ được kiểm tra:
- Xem kết quả đăng ký học
- Xem lịch thi cá nhân
Kịch bản (Script) được tạo ra sẽ bao gồm các hành động để chạy các chức năng nói trên của Website
Có hai kiểu kiểm tra chính mà ta sẽ thực hiện với kịch bản này:
Load testing: sẽ kiểm tra tải của Website với một số lượng người dùng nào đó
Kiểm tra này sẽ cung cấp các thông số quan trọng phản ánh hoạt động của Website Chúng ta sẽ bắt đầu với 5 người dùng ảo và tăng dần số lượng lên tối đa.
200 trong khoảng thời gian 5 phút
Stress Testing: Dạng kiểm tra này sẽ xác định được số người dùng tối đa mà hệ thống vẫn đảm bảo được các tiêu chuẩn
Tạo kịch bản kiểm tra
To create or edit a script, run the "Create/Edit Script" function Then, open your browser and navigate to the registration website of Vinh University at http://student.vinhuni.edu.vn/CMCSoft.IU.Web.info/login.aspx.
Hình 3.1 Giao diện đăng kí học Đăng nhập thành công thực hiện các bước đăng kí học
Hình 3.2 Giao diện trang chủ
Click vào link ở menu dọc, ta có những thông tin như sau:
Hình 3.4 Kết quả đăng kí học
Ngoài ra chúng ta còn có thể xem thông tin cá nhân như sau:
Hình 3.6 Thông tin cá nhân
Hình 3.7 Lịch thi cá nhân
Sau khi hoàn tất việc đăng ký học và kiểm tra thông tin cá nhân, bạn hãy chọn Logout để quay lại trang chủ Như vậy, bạn đã hoàn thành một kịch bản đơn giản với Loadrunner.
Mở Run Load Test với kịch bản đã ghi ở trên
- Tổng thời gian(/phút)- Total time in minutes: 5 phút
- Số lượng người dùng ảo ban đầu- Starting Load Size : 5
- Số lượng người dùng ảo cuối cùng - Concluding Load Size : 200
Các thông số cần kiểm tra là:
Hình 3.9 Cài đặt cho Load test
Phân tích kết quả
Thời gian phản hồi của server
Sử dụng biểu đồ Average Transaction Response Time để đánh giá
Phân tích kết quả cho thấy thời gian hồi đáp trung bình của máy chủ đang tăng lên theo thời gian Cụ thể, thời gian trung bình cho hành động xem là 54,268 giây cho 100 người dùng, tương đương khoảng 5,4 giây cho mỗi người dùng Tuy nhiên, thời gian hồi đáp ngắn nhất ghi nhận là 2,423 giây cho 100 người dùng, trong khi thời gian dài nhất lên đến 196,657 giây cho 100 người dùng Sự chênh lệch này quá lớn, cho thấy rằng website chưa đạt được sự ổn định cần thiết.
Khả năng của máy chủ
Ta kết hợp 2 biểu đồ Running Vuser và Average Transaction response Time để đánh giá
Phân tích kết quả cho thấy, khi số lượng Vuser tăng từ 5 đến 40, thời gian hồi đáp của các hoạt động Action_Transaction vẫn ổn định Tuy nhiên, sau đó, mặc dù số lượng Vuser tiếp tục tăng, thời gian hồi đáp giảm nhanh chóng, đạt đỉnh 220 giây Đối với hoạt động Xem, thời gian hồi đáp cũng giảm dần theo số lượng Vuser tăng Điều này cho thấy khả năng của máy chủ chưa tốt và website chưa hoạt động ổn định.
Xác định thời điểm server quá tải
Ta kết hợp 2 biểu đồ HTTP Response per Second và Hits per Second để đánh giá
Biểu đồ Hits per second cho thấy số lượng yêu cầu đến server theo thời gian, trong khi biểu đồ HTTP Response per Second phản ánh khả năng đáp ứng của webserver với số lượng người dùng tương ứng Nếu hai biểu đồ này giống nhau, hệ thống vẫn có thể đáp ứng lượng người dùng Ngược lại, nếu không giống nhau, điều này cho thấy server đã quá tải, cần áp dụng các giải pháp tối ưu hóa code hoặc chia tải (load balancing).
Phân tích kết quả: Ta thấy 2 biểu đồ vẫn giống nhau chứng tỏ hệ thống vẫn đáp ứng được lượng người dung trên
Đánh giá mức độ lỗi
Ta sử dụng biểu đồ Transaction Sumary để đánh giá
Phân tích kết quả cho thấy tỷ lệ Action_Transaction fail cao, điều này chỉ ra rằng website gặp nhiều lỗi Do đó, cần triển khai các giải pháp tối ưu hóa mã nguồn để cải thiện hiệu suất và giảm thiểu sự cố.
KẾT LUẬN VÀ HƯỚNG PHẤT TRIỂN
Kết luận
Qua quá trình nghiên cứu và triển khai, đề tài “Tìm hiểu phần mềm
Loadrunner kiểm tra hiệu năng WebSite” đã đạt được một số kết quả sau:
Để thực hiện kiểm thử hiệu quả cho một ứng dụng Web, cần nắm vững cơ sở lý thuyết về kiểm thử và các kỹ thuật kiểm thử tự động Ngoài ra, một số vấn đề quan trọng cần lưu ý bao gồm việc xác định các trường hợp kiểm thử, đảm bảo tính khả thi của tự động hóa và kiểm tra tính tương thích trên nhiều trình duyệt.
- Tìm hiểu công cụ kiểm thử tải LoadRunner áp dụng cho việc kiểm thử tải
- Sử dụng công cụ LoadRunner áp dụng quy trình kiểm thử để thực hiện kiểm thử tải cho trang Web
- Đưa ra một số đánh giá, nhận xét về hiệu năng của website
Đề tài này mang lại ý nghĩa thực tiễn quan trọng trong nghiên cứu và ứng dụng kiểm thử, giúp xác định các giới hạn tải và tối ưu hóa hiệu suất của trang Web.
Hướng phát triển
Dựa trên kiểm thử tải, chúng ta mở rộng nghiên cứu ảnh hưởng của các yếu tố mạng đến quy trình kiểm thử tải Đồng thời, cần tìm hiểu cách công nghệ và ngôn ngữ phát triển tác động đến hiệu quả kiểm thử tải khi triển khai trang web trên các nền tảng ngôn ngữ khác nhau.
Thực hiện khảo sát các công cụ kiểm thử như WebLOAD và OpenSATA nhằm so sánh ưu điểm và nhược điểm của chúng với LoadRunner Qua việc kiểm thử trang Web bằng từng công cụ, người dùng sẽ có cái nhìn khách quan và rõ ràng hơn về hiệu suất cũng như khả năng của các công cụ kiểm thử khác, từ đó đưa ra nhận xét chính xác và đúng đắn hơn về LoadRunner.