Kiểm thử phần mềm
Kiểm thử tự động ( Automation test)
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
TỰ ĐỘNG KIỂM THỬ PHẦN MỀM
Một chương trình mới thường chứa khoảng vài lỗi trên 100 dòng mã, bao gồm lỗi phát sinh từ quá trình lập trình và thiết kế Việc vận hành một hệ thống trực tuyến với chương trình có lỗi có thể gây ra những hư hỏng nghiêm trọng, ảnh hưởng không chỉ đến công ty vận hành mà còn đến cộng đồng lớn bên ngoài Những lỗi này có thể dẫn đến rủi ro lớn về an toàn và uy tín của hệ thống, gây thiệt hại về tài chính và uy tín cho doanh nghiệp Do đó, việc kiểm tra và sửa lỗi kỹ lưỡng trong quá trình phát triển phần mềm là cực kỳ quan trọng để đảm bảo hoạt động ổn định và an toàn của hệ thống trực tuyến.
Việc kiểm thử phần mềm cần được thực hiện trước khi chuyển giao sản phẩm công nghiệp để đảm bảo chất lượng Quá trình kiểm thử phải tuân thủ một trình tự đặc biệt nhằm xác thực rằng chương trình và hệ thống điều khiển hoạt động đúng theo các đặc tả kỹ thuật Mặc dù không thể loại bỏ hoàn toàn tất cả các lỗi trong phần mềm, nhưng kiểm thử chính xác và hiệu quả giúp giảm thiểu tối đa số lỗi còn tồn tại, nâng cao độ tin cậy của sản phẩm.
Kiểm tra phần mềm đóng vai trò sống còn trong các dự án phát triển và gia công phần mềm, đóng vai trò đảm bảo chất lượng sản phẩm trước khi đến tay người dùng Mặc dù vai trò của kiểm thử phần mềm rõ ràng, nhiều người vẫn chưa hiểu sâu về hoạt động này, vốn là một lĩnh vực độc lập và hấp dẫn Ngoài các dự án phát triển phần mềm mới, kiểm thử còn là nhiệm vụ chính trong các dự án gia công, nơi đội ngũ kiểm thử đảm bảo phần mềm đã được khách hàng phát triển sẵn hoạt động chính xác và tin cậy.
Kiểm thử phần mềm là bước quan trọng không thể thiếu trong quá trình phát triển phần mềm mà bất kỳ ai từng tham gia vào dự án đều nhận thấy Quá trình này giúp phát hiện sớm các lỗi, đảm bảo chất lượng và tính ổn định của phần mềm trước khi ra mắt Việc kiểm thử bao gồm nhiều phương pháp và kỹ thuật khác nhau, nhằm kiểm tra tính năng, hiệu suất và khả năng mở rộng của phần mềm Thực hiện kiểm thử phần mềm đúng cách giúp giảm thiểu rủi ro, tiết kiệm chi phí sửa lỗi về sau và nâng cao trải nghiệm người dùng Đây là bước cần thiết để đảm bảo phần mềm hoạt động trơn tru, đáp ứng các tiêu chuẩn về chất lượng và an toàn thông tin.
Chạy thử phần mềm hoặc một chức năng cụ thể giúp kiểm tra xem chúng có hoạt động đúng như mong muốn hay không Quá trình kiểm tra có thể được thực hiện sau mỗi giai đoạn phát triển chức năng hoặc module, giúp phát hiện lỗi sớm và đảm bảo chất lượng trước khi hoàn tất toàn bộ phần mềm Việc kiểm thử cuối cùng sau khi phần mềm hoàn thiện giúp xác nhận tính ổn định và hoạt động chính xác của toàn bộ hệ thống.
Kiểm thử phần mềm là quá trình xây dựng các tập dữ liệu và dãy thao tác có chủ đích nhằm đánh giá các tiêu chuẩn chất lượng của sản phẩm phần mềm Quá trình này giúp xác định lỗi và đảm bảo phần mềm hoạt động đúng theo yêu cầu Kiểm thử phần mềm đóng vai trò quan trọng trong việc nâng cao hiệu quả và độ tin cậy của sản phẩm Bằng cách thực hiện kiểm thử một cách có hệ thống, các nhà phát triển có thể phát hiện sớm các lỗi và cải thiện chất lượng phần mềm trước khi ra mắt thị trường.
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.
TÌM HIỂU PHẦN MỀM LOADRUNNER
Giới thiệu phần mềm Loadrunner
LoadRunner là công cụ kiểm thử tự động chuyên nghiệp, giúp đánh giá hiệu năng phần mềm một cách chính xác Nó phát hiện nguyên nhân gây chậm hoặc không đáp ứng yêu cầu của phần mềm, từ đó hỗ trợ tối ưu hóa hiệu suất hệ thống Với khả năng kiểm tra tải mạnh mẽ, LoadRunner cung cấp giải pháp toàn diện để phát hiện lỗi và đề xuất các biện pháp cải tiến tối ưu Ứng dụng LoadRunner giúp giảm đến 80% thời gian viết kịch bản kiểm thử nhờ tính năng tự động sinh script mô phỏng tình huống kiểm tra.
LoadRunner là công cụ mạnh mẽ giúp tạo ra hàng ngàn người dùng ảo cùng lúc để thực hiện các giao dịch song song, từ đó kiểm tra khả năng xử lý của phần mềm Trong quá trình kiểm thử, LoadRunner giám sát các thông số quan trọng về hiệu suất và tài nguyên của hệ thống, giúp phát hiện các điểm nghẽn và tối ưu hóa hiệu quả Kết quả thu thập được sẽ được lưu lại để kiểm thử viên phân tích kỹ lưỡng, đảm bảo phần mềm hoạt động ổn định và hiệu quả dưới tải cao.
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 tương tác trên phần mềm, giúp mô phỏng hành vi người dùng chính xác Các script này còn được xem như hoạt động của một người ảo do LoadRunner giả lập, đảm bảo kiểm thử hiệu quả và khách quan hơn trong quá trình performance testing.
- 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 giúp giả lập hàng nghìn người dùng, mỗi người hoạt động dựa trên script Vugen để kiểm thử hiệu năng hệ thống Kết quả từ quá trình giả lập này sẽ được gửi về Controller để phân tích, đánh giá hiệu suất hệ thống một cách chính xác và đầy đủ.
- 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
Ứ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, quảng bá sản phẩm và dịch vụ, thậm chí tích hợp chức năng giao dịch mua bán trực tuyến, góp phần vào thành công kinh doanh Việc đảm bảo Website hoạt động ổn định và hiệu quả là yếu tố quyết định thành công, vì vậy phần mềm kiểm tra hiệu năng Website là công cụ quan trọng giúp mô phỏng các tình huống sử dụng thực tế Nhờ đó, doanh nghiệp có thể kiểm soát và đảm bảo quá trình vận hành của Website luôn thông suốt, mang lại trải nghiệm tốt cho người dùng và thúc đẩy hoạt động kinh doanh hiệu quả hơn.
Khi thử nghiệm các ứng dụng web, kiểm tra viên bắt đầu bằng việc kiểm tra các trang, liên kết và nút chức năng để đảm bảo mọi thành phần hoạt động chính xác Tiếp theo, kiểm tra độ chịu tải của Website nhằm xác định khả năng vận hành tốt khi có lượng lớn người dùng truy cập đồng thời Quá trình kiểm thử toàn diện này giúp đảm bảo website hoạt động ổn định, hiệu quả và đáp ứng tốt các yêu cầu của người dùng.
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 key system parameters such as Hits Per Second, Failed Hits, Failed Hits Per Second, and Failed Connections to perform an initial assessment of system performance and stability These metrics are essential for evaluating the health and reliability of the network, enabling proactive troubleshooting and optimization Monitoring these indicators helps in detecting potential issues early and ensuring the system operates efficiently.
- 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
- Logout 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 dạng này sẽ cung cấp các thông số phản ánh hoạt động của Website, giúp bạn đánh giá hiệu quả và tốc độ xử lý của hệ thống Quá trình kiểm tra bắt đầu với số lượng người dùng ảo là 5, sau đó tăng dần để phân tích khả năng mở rộng và khả năng chịu tải của website Việc này giúp tối ưu hóa trải nghiệm người dùng và đảm bảo website hoạt động ổn định trong các tình huống lưu lượng truy cập tăng đột biến.
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
To create an exam script, run the Create/Edit Script feature to develop your test plan Then, open a web browser and navigate to the Vinh University registration website 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 đăng ký học và xem các thông tin cá nhân, người dùng có thể chọn Logout để trở về trang chủ Quá trình này hoàn thiện việc tạo một kịch bản đơn giản với LoadRunner, giúp kiểm thử hiệu suất một cách hiệu quả.
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á
Thời gian phản hồi trung bình của máy chủ tăng dần theo thời gian, cho thấy hệ thống chưa ổn định Theo dữ liệu, trung bình thời gian xử lý của hành động xem là 54,268 giây trên 100 người dùng, tương đương khoảng 5,4 giây cho mỗi người Tuy nhiên, thời gian phản hồi thấp nhất chỉ là 2,423 giây trên 100 người dùng, trong khi cao nhất lên đến 196,657 giây trên 100 người dùng, điều này cho thấy sự chênh lệch lớn và cần cải thiện hiệu suất hệ thống.
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 duy trì ổn định Tuy nhiên, sau mức tăng này, dù số lượng Vuser tiếp tục ổn định, thời gian hồi đáp giảm nhanh chóng và đạt đỉnh là 220 giây Đối với hoạt động Xem, thời gian hồi đáp cũng giảm ổn định theo mức tăng của Vuser Điều này cho thấy khả năng của máy chủ còn yếu, và website chưa chạy ổn định, cần cải thiện hiệu suất và mở rộng hạ tầng để nâng cao trải nghiệm người dùng.
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 biểu thị số lượng yêu cầu gửi tới server mỗi giây theo thời gian, giúp đánh giá khả năng xử lý của hệ thống Trong khi đó, biểu đồ HTTP Response per Second thể hiện khả năng phản hồi của webserver với lượng người dùng tương ứng Nếu hai biểu đồ này giống nhau, có nghĩa là hệ thống vẫn duy trì hiệu suất ổn định và đáp ứng tốt yêu cầu của người dùng Ngược lại, khi hai biểu đồ khác biệt lớn, cho thấy server đã quá tải, cần áp dụng các giải pháp tối ưu hóa mã nguồn hoặc triển khai load balancing để cân bằng tải và nâng cao hiệu suất hệ thống.
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, biểu đồ thể hiện tỷ lệ thất bại của Action_Transaction cao, điều này cho thấy website đang gặp nhiều lỗi và cần tối ưu hóa mã nguồn để cải thiện hiệu suất.
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:
Hiểu rõ cơ sở lý thuyết về kiểm thử phần mềm là yếu tố nền tảng để đảm bảo chất lượng ứng dụng web Các kỹ thuật kiểm thử tự động giúp tiết kiệm thời gian và nâng cao hiệu quả trong quá trình kiểm thử Khi triển khai kiểm thử cho ứng dụng web, cần lưu ý các vấn đề như khả năng mở rộng, độ phủ của các kịch bản kiểm thử và xử lý các lỗi phát sinh Việc áp dụng đúng kỹ thuật kiểm thử tự động sẽ giúp phát hiện sớm các lỗi, giảm thiểu rủi ro và tối ưu hóa quy trình kiểm thử Điều này đảm bảo rằng ứng dụng web hoạt động ổn định, an toàn và đáp ứng đầy đủ yêu cầu của người dùng.
- 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 mang ý nghĩa thực tiễn quan trọng trong lĩnh vực nghiên cứu và ứng dụng kiểm thử Web Kết quả nghiên cứu giúp xác định các giới hạn tải hiệu quả, từ đó tối ưu hóa hiệu suất và khả năng hoạt động của trang Web Việc này góp phần nâng cao trải nghiệm người dùng và đảm bảo tính ổn định của hệ thống trong các tình huống tải cao.
Hướng phát triển
Dựa trên kết quả kiểm thử tải, chúng ta mở rộng việc nghiên cứu ảnh hưởng của các yếu tố mạng đến quá trình kiểm thử tải, nhằm hiểu rõ hơn về tác động của các yếu tố này Ngoài ra, việc phân tích công nghệ và ngôn ngữ phát triển cũng đóng vai trò quan trọng trong việc xác định ảnh hưởng đến hiệu quả kiểm thử tải khi thực hiện kiểm thử trên các nền tảng ngôn ngữ khác nhau.
Nghiên cứu và đánh giá các công cụ kiểm thử như WebLOAD và OpenSATA giúp so sánh ưu nhược điểm của chúng với LoadRunner, từ đó cung cấp cái nhìn khách quan và rõ ràng hơn về hiệu quả của từng công cụ kiểm thử Việc thực hiện kiểm thử trang web trên các nền tảng này giúp phát hiện điểm mạnh, điểm yếu của từng công cụ, nhằm đưa ra nhận xét chính xác, đúng đắn hơn về LoadRunner trong quá trình chọn lựa phù hợp cho dự án.