Chú ý triển khai hệ thống trên diện rộng

Một phần của tài liệu Kiểm thử hiệu năng dịch vụ phần mềm quản lý trường học (Trang 65)

Khi triển khai hệ thống quản lý trường học trên diện rộng, nhà cung cấp phải tính toán đưa ra yêu cầu hiệu năng của hệ thống phải đáp ứng để phục vụ được nhiều người dùng trong thực tế. Dựa yêu cầu hiệu năng nhóm phát triển sẽ đưa ra các giải pháp để hệ thống đạt được hiệu năng mong đợi và kiểm thử viên phải thực hiện kiểm thử hiệu năng để xác nhận hệ thống đã đạt hiệu năng yêu cầu.

Có nhiều cách để cải thiện và tăng hiệu năng của một hệ thống bất kỳ. Trước khi nghĩ đến giải pháp về phần cứng thì người ta thường mong muốn hệ thống được tối ưu hóa về thuật toán và giải phát công nghệ để đạt được một hiệu năng tốt nhất. Ngoài ra để triển khai một hệ thống trên diện rộng ngoài việc tối ưu hóa hệ thống người ta phải tính toán việc triển khai hệ thống trên nhiều máy chủ để có thể phục vụ được nhiều người sử dụng đồng thời.

Với kết quả kiểm thử tải ở Chương 3, chúng ta thấy vấn đề ảnh hƣởng đến hiệu năng của hệ thống là mức sử dụng CPU trên máy chủ trong kịch bản kiểm thử BÁO CÁO. Để cải thiện hiệu năng của hệ thống lên thì đội phát triển nên xem xét lại thuật toán hoặc giải pháp công nghệ khác để giảm việc sử dụng CPU trên máy chủ khi thực hiện chức năng xuất báo cáo ra tập tin Excel. Sau khi đội phát triển đã chỉnh sửa lại chức năng này thì kiểm thử viên chạy lại kịch bản BÁO CÁO để thu thập các số liệu về thời gian phản hồi, thông lượng, mức độ sử dụng CPU, đọc/ghi ổ đĩa, sử dụng bộ nhớ trên máy chủ và so sánh với kết quả kiểm thử trước khi chỉnh sửa.

Một vấn đề rất cần chú ý khi triển khai hệ thống trên diện rộng là số bản ghi dữ liệu sẽ tăng lên nhiều lần. Số bản ghi dữ liệu tăng lên sẽ tiềm ẩn một số vấn đề về hiệu năng của hệ thống. Để tăng độ tin cậy về hiệu năng hệ thống khi triển khai trên diện rộng thì kiểm thử viên có thể thực hiện kiểm thử khối lượng (volumn test) với số bản ghi dữ liệu khi triển khai hệ thống trên diện rộng.

Do máy chủ triển khai thử nghiệm đã giới hạn số yêu cầu gửi đến máy chủ trong cùng một dải IP là dưới 100 mà hạn chế của phần mềm Jmeter là không có chức năng giả lập dải IP khác nên tôi cũng chưa có cơ hội để thử nghiệm nhiều mức tải hơn cho hệ thống. Vì vậy mà trong Chương 3 tôi chỉ thực hiện kiểm thử tải cho hệ thống quản lý trường học với 2 mức tải. Tôi chỉ chọn 2 kịch bản làm kiểm thử tải thực nghiệm với các kịch bản kiểm thử khác thì kiểm thử viên có thể thực hiện tương tự. Khi hệ thống được triển khai trên diện rộng trong thực tế thì kiểm thử viên phải thực hiện kiểm thử tải cho hệ thống với tất cả những luồng chức năng hay được sử dụng theo luật 80:20 với nhiều mức tải hơn phụ thuộc vào yêu cầu hiệu năng. Và một điều chú ý là môi trường và số bản ghi dữ liệu thực hiện kiểm thử càng giống môi trường triển khai thực càng đảm bảo độ tin cậy kết quả kiểm thử hiệu năng.

Những phân tích tôi trình bầy ở trên kiểm thử viên và đội phát triển có thể tham khảo làm thế nào hệ thống đạt được hiệu năng mong đợi khi triển khai trên diện rộng.

Với đội phát triển có thể tham khảo để giái quyết các vấn đề ảnh hưởng đến hiệu năng của hệ thống. Với kiểm thử viên có thể tham khảo để lên kế hoạch và chiến lược kiểm thử hiệu năng hiệu quả cho hệ thống. Tôi đưa ra những lời khuyên này là dựa vào lý thuyết kiểm thử hiệu năng mà tôi đã trình bầy ở Chương 1, Chương 2 và kết quả thực nghiệm kiểm thử tải cho hệ thống được trình bầy ở Chương 3.

KẾT LUẬN

Luận văn đã trình bầy các kiến thức cơ bản về kiểm thử hiệu năng bao gồm khái niệm, các giai đoạn và hoạt động, công cụ và các kiểu kiểm thử hiệu năng. Luận văn cũng mô tả chi tiết các kỹ thuật thực hiện kiểm thử hiệu năng. Ngoài ra luận văn còn đưa ra một vài lời khuyên để thực hiện kiểm thử hiệu năng một cách hiệu quả. Toàn bộ kiến thức về kiểm thử hiệu năng tôi đã tham khảo chính [5].

Tiếp theo luận văn áp dụng lý thuyết để thực hiện kiểm thử tải cho phần mềm quản lý trường học được xây dựng trên nền web. Trong phần áp dụng này luận văn trình bầy các kết quả phân tích mô hình tải, mô hình người sử dụng, tìm các luồng chức năng hay được sử dụng, tính toán thời gian nghĩ (think time), cách sử dụng phần mềm Jmeter để cài đặt kịch bản kiểm thử, thực hiện và thu thập các kết quả kiểm thử. Từ kết quả thu được tôi đã phân tích đưa ra kết luận về tình trạng hiệu năng hệ thống và mức sử dụng CPU cao trên máy chủ là nguyên chính ảnh hưởng đến hiệu năng khi muốn triển khai mở rộng hệ thống. Toàn bộ kết quả đạt được trong phần áp dụng thực nghiệm này là quá trình bản thân tôi vận dụng lý thuyết, tìm tòi, nghiên cứu, học hỏi từ đồng nghiệp, bạn bè và một vài dự án trong thực tế.

Dựa vào lý thuyết kiểm thử hiệu năng, kết quả kiểm thử trong phần áp dụng thực nghiêm và kinh nghiệm bản thân trong thực tế tôi phân tích đưa ra chú ý hay lời khuyên giúp đội phát triển giải quyết vấn đề ảnh hưởng đến hiệu năng và kiểm thử viên có kế hoạch hoặc chiến lược kiểm thử hiệu quả để đảm bảo hệ thống thành công khi triển khai trên diện rộng.

Nhóm phát triển và kiểm thử viên luôn phải ý thức việc xây dựng một hệ thống đáp ứng yêu cầu về hiệu năng sẽ là yếu tố quan trọng quyết định sự thành công dự án trong thực tế.

Hƣớng phát triển

Nhược điểm của phương pháp kiểm thử hiệu năng ở đây là người thực hiện chỉ đo được từ một máy, không mô phỏng đúng thức tế khi các yêu cầu được gửi đến từ nhiều nơi, có thể trên khắp thế giới. Hơn nữa các bước cài đặt, vận hành vẫn không đơn giản. Vì vậy hướng nghiên cứu tiếp theo của luận văn là tìm hiểu sử dụng dịch vụ kiểm thử hiệu năng dựa trên điện toán đám mây (cloud computing) để kiểm thử hiệu năng và so sánh tính hiệu quả với việc sử dụng phần mềm kiểm thử hiệu năng. Từ đó tìm ra cách để thực hiện kiểm thử hiệu năng hiệu quả hơn cho các hệ thống.

TÀI LIỆU THAM KHẢO Tiếng Anh

[1] Emily H. Halili (2008), Apache JMeter, Ltd, Packt Publishing. [2] J.D. Meier, Srinath Vasireddy, Ashish Babbar, and Alex Mackman,

Improving.NET Application Performance and Scalability, Microsoft Corporation.

[3] Stacy Joines, Ruth Willenborg, Ken Hygh(2002), Performance Analysis for Java™

Web Sites, Addison Wesley.

[4] J.D. Meier, Carlos Farre, Prashant Bansode, Scott Barber, Dennis Rea (2007),

Performance Testing Guidance for Web Applications, Microsoft Corporation.

[5] Ramya Ramalinga Moorthy (2000), Software Performance Testing Handbook - A

Comprehensive guide for beginners.

[6] Ian Molyneaux (2009), The Art of Application Performance Testing, O'Reilly Media, Inc.

[7] IBM (2008), Using Rational Performance Tester Version 7, IBM corporation. [8] https://code.google.com/p/jmeter-plugins/.

Một phần của tài liệu Kiểm thử hiệu năng dịch vụ phần mềm quản lý trường học (Trang 65)