Chạy kịch bản 100 ngƣời dùng đồng thời trong khoảng thời gian 5 giây, các kết quả nhƣ hình 4.17. Đồ thị này thể hiện thời gian phản hồi trung bình của các yêu cầu gửi lên máy chủ trong kịch bản. Từ đây, ta thấy rằng với 100 ngƣời dùng đồng thời thực hiện các yêu cầu, hệ thống đáp ứng đƣợc tất cả các yêu cầu trong vòng 20 giây, với thời gian phản hồi lớn nhất chƣa đến 4800 mili giây.
Hình 4.17. Kết quả chạy với 100 ngƣời dùng đồng thời
4.6 Đánh giá kết quả đầu ra và báo cáo
Kiểm thử hiệu năng đi kèm với các hoạt động tối ƣu hóa hệ thống. Mục đích của việc phân tích đánh giá là để tìm ra phần chức năng cần phải cải thiện hiệu suất. Phân tích và đánh giá các kết quả kiểm thử thu đƣợc có lẽ là bài toán khó nhất trong kiểm thử hiệu năng.
Các kết quả kiểm thử thu đƣợc bên trên cho thấy khi lƣợng ngƣời dùng đồng thời nhỏ hơn 80 mà không có độ trễ về mặt thời gian, thì lỗi xuất hiện ở 3 yêu cầu: tìm kiếm, liên hệ và xem chi tiết tour. Với 100 ngƣời dùng chạy đồng thời, chỉ có yêu cầu khi vào trang chủ không bị lỗi, các yêu cầu gửi đi từ các trang khác đều xuất hiện lỗi.
Với kịch bản 100 ngƣời dùng với độ trễ 5 giây, ta thấy rằng thời gian phản hồi luôn cao nhất là 4800 mili giây, nhỏ hơn 5 giây, nên kết quả này đƣợc gọi là đạt
KẾT LUẬN
Trong bối cảnh phát triển phần mềm mà phần cứng ngày càng tăng nhanh về dung lƣợng và giá thành giảm, chúng ta cần kiểm thử hiệu năng để đảm bảo sử dụng tối đa hạ tầng công nghệ thông tin của đơn vị. Bên cạnh đó, với mô hình phát triển phần mềm nhanh theo phƣơng pháp Agile – Scrum, chúng ta cần có cách thức tiếp cận và triển khai kiểm thử hiệu năng phù hợp.
Trong luận văn, tôi đã xây dựng đƣợc một bài toán kiểm thử hiệu năng điển hình cho phƣơng pháp phát triển phần mềm Agile – Scrum. Từ việc tìm hiểu, phân tích yêu cầu về hiệu năng của dự án đến các bƣớc lập kế hoạch, thiết kế, thực thi, đánh giá báo cáo và các hoạt động kết thúc kiểm thử. Dựa theo quy trình kiểm thử đƣợc công nhận rộng rãi và sử dụng hiệu quả ISTQB hiện nay, quy trình thực hiện kiểm thử hiệu năng trình bày trong luận văn giúp cho các kiểm thử viên hoặc những ai yêu thích kiểm thử hiệu năng đều dễ dàng tiếp cận. Bài toán kiểm thử vốn khó về hiệu năng trở nên đơn giản hơn. Đặc biệt, luận văn gợi ý sử dụng công cụ mã nguồn mở để thực hiện kiểm thử hiệu năng. Trong đó bộ ba Apache JMeter, Apacche Maven và Jenkins CI là sự kết hợp hoàn hảo đối với một dự án Scrum. Với nhƣợc điểm phải cấu hình rất nhiều để sử dụng đƣợc phần mềm mã nguồn mở, luận văn cũng xây dựng một giao diện giúp ngƣời dùng nhanh chóng thực hiện đƣợc dự án kiểm thử hiệu năng và giảm những rắc rối về mặt cấu hình cho ba công cụ này.
Luận văn đã cung cấp một cái nhìn tổng quan về kiểm thử hiệu năng nói chung và trong các ứng dụng Web nói riêng. Các bƣớc triển khai một bài toán kiểm thử hiệu năng trong luận văn áp dụng cho dự án phát triển theo Agile –Scrum, nhƣng cũng hoàn toàn sử dụng đƣợc cho các dự án khác. Tùy vào mô hình phát triển phần mềm dự án lựa chọn mà ta có thể tùy chỉnh cho phù hợp. Luận văn cũng đang áp dụng xây dựng kiểm thử hiệu năng tích hợp liên tục cho các ứng dụng Web theo mô hình khách – chủ. Tuy nhiên, nó hoàn toàn có thể áp dụng cho các trang Web sử dụng trên điện toán đám mây (Cloud). Với việc sử dụng JMeter, Maven, Jenkins, các công cụ mã nguồn mở có khả năng mở rộng lớn. Trong tƣơng lai, hoàn
toàn ta có thể phát triển thêm các phần tiện ích (plug in) vào trong công cụ, nhằm phục vụ công việc kiểm thử của chúng ta tốt hơn.
TÀI LIỆU THAM KHẢO
Tiếng Anh
[1] Mark Sweney (2002), “New Media: Spotlight on Nectar – Nectar‟s crash reveals danger of creating too much demand”, Brand Republic Group.
http://www.brandrepublic.com/article/160113/new-media-spotlight-nectar--- nectars-crash-reveals-danger-creating-demand
[2] Steven Morris and Helen Carter (2011), “Crime map website a victim of its own success”, The Guardian.
http://www.theguardian.com/uk/2011/feb/01/crime-map-website-crashes
[3] Kelly McWilliams (2012), “London Olympics resale site taken offline after crash”, TicketNews
http://www.ticketnews.com/news/London-Olympics-resale-site-taken-offline- after-crash010912586
[4] IEEE 610.12(1990), Standard Glossary of Software Engineering Terminology, p.55.
[5] J.D. Meier, Carlos Farre, Prashant Bansode, Scott Barber, Dennis Rea (2007), “Performance Testing Guidance for Web Applications”, Microsoft Corporation.
[6] Lars Yde, M.Sc.(Spring 2008), “Software Testing Concepts and Tools”, at “Selected Topics in Software Development”, DIKU spring semester 2008
[7] Ian Molyneaux (January 2009), “The Art of Application Performance Testing”, O’Reilly Media. Inc
[8] Johann du Plessis (2008), “Performance testing methodology”, Micro to Mainframe
[9] Dorothy Graham, Erik van Veenendaal, Isabel Evans, Rex Black,(2007), “Foundation of Software Testing”, Thomson Learning