Kiểm Thử Hiệu Năng Phần Mềm: Phương Pháp và Kỹ Thuật

Trường đại học

Đại học Quốc gia Hà Nội

Chuyên ngành

Công nghệ thông tin

Người đăng

Ẩn danh

Thể loại

luận văn

2012

105
0
0

Phí lưu trữ

40.000 VNĐ

Tóm tắt

I. Tổng Quan Về Kiểm Thử Hiệu Năng Khái Niệm và Tầm Quan Trọng

Không giống như kiểm thử chức năng, người dùng cuối cũng có thể tìm ra lỗi chức năng của hệ thống. Kiểm thử hiệu năng là một hoạt động rất phức tạp, không phải ai cũng dễ dàng thực hiện kiểm thử và đưa ra kết luận về hiệu năng cho một hệ thống. Để thực hiện kiểm thử đòi hỏi kiểm thử viên phải có hiểu biết về lý thuyết, kỹ thuật và phần mềm hỗ trợ kiểm thử hiệu năng. Trong kiểm thử hiệu năng có nhiều khái niệm, thuật ngữ riêng đòi mà kiểm thử viên phải hiểu rõ ý nghĩa của nó. Đồng thời các kỹ thuật cài đặt môi trường, lựa chọn và xây dựng kịch bản, thực hiện kiểm thử rất đặc thù không giống như các loại kiểm thử khác. Phải hiểu rõ bản chất và kỹ thuật trong kiểm thử hiệu năng thì kiểm thử viên mới có thể đưa ra cách tiến hành và chiến lược kiểm thử hiệu quả. Theo [5], kiểm thử hiệu năng là hành động kiểm định, đánh giá phần mềm, một thành phần hay phần cứng có đúng với yêu cầu về hiệu năng và tối ưu hóa hiệu năng của nó.

1.1. Định Nghĩa Chi Tiết về Kiểm Thử Hiệu Năng Phần Mềm

Có nhiều định nghĩa về kiểm thử hiệu năng. Theo [4], kiểm thử hiệu năng là kiểm thử xác định thời gian phản hồi (responsiveness), thông lượng (throughput), mức độ tin cậy (reliability) hoặc khả năng mở rộng (scalability) của hệ thống theo khối lượng công việc (workload). Mục tiêu của kiểm thử chức năng là kiểm thử và xác nhận các yêu cầu chức năng trong khi mục tiêu của thử nghiệm hiệu năng là kiểm thử và xác nhận các yêu cầu phi chức năng của hệ thống như hệ thống có thể phục vụ tối đa bao nhiêu người sử dụng đồng thời trong khoảng thời gian bao lâu, khi đó thời gian phản hồithông lượng là bao nhiêu, sử dụng bao nhiêu phần trăm CPU, bao nhiêu bộ nhớ của máy chủ, v.v…

1.2. Tầm Quan Trọng Của Đánh Giá Hiệu Năng Phần Mềm

Kiểm thử hiệu năng là hoạt động cần thiết cho việc phát triển những giải pháp tối ưu hóa hiệu năng cho phần mềm. Kiểm thử hiệu năng giúp chúng ta tránh được các tình huống không lường trước khi triển khai ứng dụng trong môi trường thực tế. Ví dụ khi ứng dụng chạy đúng nhưng quá chậm thì sản phẩm sẽ không được người dùng hài lòng. Ngoài ra chúng ta có thể thấy một số lý do của việc cần kiểm thử hiệu năng như sau: So sánh hiệu năng hiện tại của hệ thống với hiệu năng của hệ thống khác mà đã làm hài lòng người sử dụng. Kiểm định hiệu năng của hệ thống đã đúng yêu cầu của khách hàng chưa. Phân tích hành vi của hệ thống ở những mức tải khác nhau. Việc phân tích này giúp ta đánh giá về hiệu năng của hệ thống một cách toàn diện hơn.

II. Các Kỹ Thuật Kiểm Thử Hiệu Năng Phần Mềm Phổ Biến Nhất

Theo [5] tôi đã chọn lọc và đưa ra một thuật ngữ hay được sử dụng trong kiểm thử hiệu năng: Thời gian nghĩ (think time): là khoảng thời gian người sử dụng nắm bắt nội dung của trang web hoặc là thời gian người dùng thực hiện một hành động tương tác với hệ thống như nhấp vào một đường dẫn, nút, v.v… Người dùng ảo (virtual user): công cụ kiểm thử hiệu năng mô phỏng nhiều người dùng hệ thống như trong thực tế bằng cách tạo ra người sử dụng ảo trong quá trình kiểm thử. Tải người sử dụng đồng thời (simultaneous user load): là tải nhiều người đồng thời cùng sử dụng ứng dụng, tại cùng một thời điểm bất kỳ mỗi người thực hiện một tương tác khác nhau. Ví dụ có 100 người đang sử dụng hệ thống, sẽ có 100 phiên làm việc khác nhau ở máy chủ.

2.1. Xác Định Tải Công Việc Của Hệ Thống Workload

Tải người sử dụng đồng thời thực hiện một hành động (concurrent user load): là tải nhiều người đồng thời cùng sử dụng ứng dụng và thực hiện cùng một hoạt động tại bất kỳ thời điểm nào. Ví dụ, tất cả 100 người dùng sẽ đăng nhập trang web vào cùng thời điểm.000 người đồng thời sử dụng hệ thống, nhưng 1000 đến 1500 người cùng thực hiện một giao dịch với ứng dụng. Yêu cầu/mục đích hiệu năng (performance requirements/goals): là định lượng đưa ra tiêu chí cho rằng hiệu năng của hệ thống là tốt. Yêu cầu hiệu năng của một ứng dụng được thể hiện trong thời gian phản hồi, số lượt truy cập trong 1 giây (hits), số giao dịch trong 1 giây, v.v…

2.2. Cài Đặt Môi Trường Kiểm Thử Hiệu Năng

Tải công việc (workload): là tải người sử dụng hệ thống trong thời gian thực khi người sử dụng đang truy cập hoặc trong khi kiểm thử hiệu năng. Hit: là yêu cầu gửi về máy chủ để truy cập vào một trang web hoặc một tập tin hoặc một ảnh từ máy chủ web. Ví dụ, nếu một trang web có 5 ảnh, người sử dụng vào trang đó thì sẽ có 6 hit trên máy thử web (5 hit cho mỗi ảnh và 1 hit cho tải trang web). Với một trang web, yêu cầu về hiệu năng là số hit trong một đơn vị thời gian như 'hệ thống hỗ trợ 10 hit / giây với thời gian phản hồi là dưới 5 giây.

2.3. Xây Dựng Kịch Bản Kiểm Thử Hiệu Năng Chi Tiết

Thời gian phản hồi (response time): là thời gian phục vụ hoặc xử lý để phản hồi lại yêu cầu. Thời gian phản hồi được tính từ khi trình duyệt web gửi yêu cầu tới máy chủ web cho tới khi trình duyệt web nhận được những byte phản hồi đầu tiên từ máy chủ. Ví dụ thời gian phản hồi của một giao dịch: đăng nhập vào hệ thống là thời gian máy chủ xử lý việc đăng nhập thành công và hiển thị trang chủ của web (nó bao gồm thời gian máy chủ xử lý, thời gian ứng dụng xử lý, thời gian máy chủ dữ liệu xử lý và độ trễ của mạng). Thông lượng (throughput): là tổng dữ liệu (bytes) được truyền từ máy chủ tới máy khách để phục vụ yêu cầu người dùng. Nó là chỉ số đánh giá hiệu năng của máy chủ, nó nói lên số lượng công việc được thực hiện trên máy chủ.

III. Kiểm Thử Hiệu Năng Dịch Vụ Quản Lý Trường Học Thực Nghiệm

Hình 1: Các giai đoạn trong kiểm thử hiệu năng [5].1 ta thấy có 4 giai đoạn chính trong thực hiện kiểm thử hiệu năng và lần lượt thứ tự thực hiện là: lên kế hoạch kiểm thử, tạo kịch bản, thực hiện và phân tích, báo cáo kết quả. Trong mỗi giai đoạn này có các hoạt động khác nhau. Lập kế hoạch kiểm thử Trước khi đưa ra bản hoạch kiểm thử kiểm thử viên nên thực hiện những việc sau: Hiểu hệ thống: hiểu nghiệp vụ hay các luồng chức năng của hệ thống. Xác định mục tiêu/yêu cầu hiệu năng: xác định mục tiêu/yêu cầu hiệu năng dựa vào yêu cầu khách hàng và đặc thù của ứng dụng. Mô hình người sử dụng: từ việc hiểu hệ thống và phân tích đối tượng sử dụng hệ thống kiểm thử viên phải đưa ra mô hình về người sử dụng hệ thống.

3.1. Giới Thiệu Trang Web Quản Lý Trường Học

Mô hình tải công việc: kiểm thử viên phải phân tích đưa ra được mô hình về các yêu cầu người sử dụng gửi đến máy chủ như: đặc điểm các yêu cầu, thời gian, số lượng yêu cầu, v.v… Từ việc hiểu hệ thống, yêu cầu hiệu năng cần kiểm thử, mô hình người sử dụng và tải công việc kiểm thử viên sẽ lập ra kế hoạch cho việc kiểm thử hiệu năng. Trong bản kế hoạch kiểm thử kiểm thử viên phải chỉ ra: công cụ sử dụng để kiểm thử (tools), loại kiểm thử cần thực hiện, các kịch bản cần kiểm thử, thời gian thực hiện, chuẩn đầu vào, đầu ra để xây dựng ca kiểm thử. Kế hoạch kiểm thử được tài liệu hóa và gửi cho các bên liên quan: các kiểm thử viên, khách hàng, đội phát triển hệ thống.

3.2. Phân Tích Mô Hình Người Dùng và Mô Hình Tải

Kịch bản Những công việc kiểm thử viên phải thực hiện trong giai đoạn này: phát triển kịch bản kiểm thử (test scripts) và tạo dữ liệu kiểm thử (generate data). Kiểm thử viên sẽ sử dụng công cụ kiểm thử hiệu năng, các kịch bản đã đưa ra trong bản kế hoạch để mô phỏng người sử dụng truy cập vào hệ thống như trong thực tế. Để thực hiện kiểm thử hiệu năng thì kiểm thử viên phải tạo dữ liệu như trong thực tế để đảm bảo hiệu năng của hệ thống được đánh giá đúng. Thực hiện kiểm thử & phân tích kết quả Những công việc cần thực hiện trong giai đoạn này là: Cài đặt môi trường kiểm thử. Thực hiện kiểm thử: sử dụng công cụ kiểm thử và kịch bản đã được tạo ra để chạy kịch bản kiểm thử.

3.3. Tạo và Cài Đặt Kịch Bản Kiểm Thử Sử Dụng JMeter

Phân tích và đưa ra kết luận về hiệu năng của hệ thống tại thời điểm kiểm thử và nguyên nhân ảnh hưởng đến hiệu năng của hệ thống (nếu có). Trước khi thực hiện kiểm thử hiệu năng của hệ thống, nên thực hiện kiểm thử cơ sở (baseline test) và kiểm thử chuẩn. Kiểm thử cơ sở là kiểm thử cho một người dùng ảo để kiểm tra tính hợp lệ của kịch bản kiểm thử. Nếu kết quả kiểm thử cơ sở có lỗi thì cần được phân tích là do hệ thống hay do kịch bản kiểm thử. Lỗi này cần phải được sửa trước khi thực hiện kiểm thử chuẩn. Kết quả của kiểm thử chuẩn (benchmark test) là hiệu năng tốt nhất của hệ thống tại thời điểm kiểm thử. Các kết quả của kiểm thử cơ sở và chuẩn sẽ được lưu lại trong tài liệu để so sánh với các kết quả kiểm thử khác.

IV. Triển Khai Dịch Vụ Quản Lý Trường Học Trên Diện Rộng

Sau đó hệ thống sẽ được thực hiện các kiểm thử khác như kiểm thử tải, kiểm thử áp lực, v.v…phụ thuộc vào chiến lược được đưa ra trong kế hoạch kiểm thử. Phân tích kết quả kiểm thử hiệu năng là phân tích hiệu năng của hệ thống hiện tại đã đạt được yêu cầu đưa ra như thế nào. Với các vấn đề khó như tìm nguyên nhân nút nghẽn cổ chai của hệ thống cần sự tham gia phân tích của một nhóm người gồm kiểm thử viên, người quản trị hệ thống, chuyên gia kỹ thuật và người quản lý dữ liệu. Thực hiện và phân tích kết quả kiểm thử là sự tuần hoàn. Nếu kết quả kiểm thử hiệu năng chỉ ra rằng hệ thống chưa đạt được yêu cầu hiệu năng thì đội phát triển sẽ điều chỉnh hệ thống.

4.1. Chú Ý Khi Triển Khai Hệ Thống Trên Diện Rộng

Khi đó kiểm thử viên sẽ thực hiện kiểm thử hiệu năng để đánh giá lại hiệu năng hệ thống sau khi được điều chỉnh [2, 4, 5]. Báo cáo kết quả kiểm thử: sau khi phân tích kết quả kiểm thử hiệu năng, kiểm thử viên đưa ra kết luận về hiệu năng hiện tại của hệ thống, các yếu tố và nguyên nhân ảnh hưởng đến hiệu năng của hệ thống và những lời giải thích. Kết quả này được báo cáo trong tài liệu theo một định dạng dễ hiểu và gửi cho các bên liên quan. Khi thực kiểm thử hiệu năng thực nghiệm cho phần mềm quản lý trường học được xây dựng trên nền web như trình bày chi tiết trong chương 3, tôi cũng trải qua 4 giai đoạn này và thực hiện các hoạt động trong từng giai đoạn như trong Hình 1.

4.2. Tóm Tắt Kết Quả Đạt Được và Hướng Nghiên Cứu Phát Triển

Hiện tại trang hệ thống này đang được triển khai thử nghiệm và có cài đặt Google Analytics nên khi phân tích mô hình người sử dụng và mô hình tải hệ thống tôi đã dựa vào số liệu, biểu đồ Google Analytics cung cấp. Cũng dựa vào thống kê của Google Analytics về luồng chức năng mà người sử dụng thực hiện tôi lựa chọn các kịch bản được sử dụng nhiều nhất để thực hiện kiểm thử. Trong kiểm thử thực nghiệm này tôi chỉ thực hiện kiểm thử tải cho hệ thống với 2 mức tải là 50 người và 100 người sử dụng...

05/06/2025
Luận văn kiểm thử hiệu năng dịch vụ phần mềm quản lý trường học
Bạn đang xem trước tài liệu : Luận văn kiểm thử hiệu năng dịch vụ phần mềm quản lý trường học

Để xem tài liệu hoàn chỉnh bạn click vào nút

Tải xuống

Tài liệu "Kiểm Thử Hiệu Năng Phần Mềm: Phương Pháp và Kỹ Thuật" cung cấp cái nhìn sâu sắc về các phương pháp và kỹ thuật kiểm thử hiệu năng trong phát triển phần mềm. Nó nhấn mạnh tầm quan trọng của việc đảm bảo rằng phần mềm không chỉ hoạt động đúng mà còn có thể xử lý khối lượng công việc lớn mà không gặp phải sự cố. Tài liệu này giúp người đọc hiểu rõ hơn về các chỉ số hiệu năng, cách thiết lập môi trường kiểm thử, và các công cụ hỗ trợ kiểm thử hiệu năng.

Để mở rộng kiến thức của bạn về lĩnh vực này, bạn có thể tham khảo thêm tài liệu về Các kỹ thuật trong kiểm thử dòng dữ liệu tĩnh, nơi bạn sẽ tìm thấy các phương pháp kiểm thử dữ liệu tĩnh có thể áp dụng trong quy trình phát triển phần mềm. Ngoài ra, tài liệu Kỹ thuật ma trận đồ thị trong phương pháp kiểm thử hộp trắng sẽ giúp bạn hiểu rõ hơn về cách sử dụng ma trận đồ thị để tối ưu hóa quy trình kiểm thử. Những tài liệu này không chỉ bổ sung cho kiến thức của bạn mà còn mở ra nhiều góc nhìn mới trong lĩnh vực kiểm thử phần mềm.