1. Trang chủ
  2. » Công Nghệ Thông Tin

Tài liệu hướng dẫn kiểm thử hiệu năng

6 589 9

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 6
Dung lượng 43,41 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đây là tài liệu mình tổng hợp từ tài liệu Paperwhite của IBM Performance Test Best Practices và thực kế công việc tại công ty mình đang làm việc. Hi vọng nó sẽ mang đến những cái nhìn khác với các tài liệu về KTHN tiếng việt đang mạng hiện nay, cũng như hữu ích cho công việc thực tế của của các bạn. Nội dung chính của tài liệu bao gồm: I. Kiểm thử hiêu năng 1. Muc đích kiểm thử hiệu năng 2. Các loại kiểm thử hiêu năng 2.1. Kiểm thử baseline 2.2. Kiểm thử Performance Load Tests 2.3. Kiểm thử Stress Tests 2.4. Kiểm thử Endurance Tests 2.5. Kiểm thử năng lực và sizing (Sizing and Capacity Tests). 2.6. Thực thi Debug và Turing (Performance Tuning and Debugging). 2.7. Batch Testing. 3. Các bước kiểm thử hiệu năng 3.1. Đánh giá 3.2. Lập kế hoạch 3.3. Tạo Testcase, testscript 3.4. Thực hiện kiểm thử hiệu năng 3.5. Tổng hơp và phân tích kết quả

Trang 1

TÀI LIỆU: KIỂM THỬ HIỆU NĂNG

NGƯỜI THỰC HIỆN: NGUYỄN THỊ DOAN

I Kiểm thử hiêu năng

1 Muc đích kiểm thử hiệu năng

Theo tài liêu Paperwhite của IBM thì 3 lý phổ biến để kiểm thử hiêu năng:

- Để phuc cụ công tác sizing hê thống, dự đoán thiết kế xây dưng cấu hình server, đường truyền cho phù hơp

- Đảm bảo đáp ứng những yêu cầu phi chức năng về hiêu năng hê thống của khách hàng

- Để kiểm tra, phát hiên và phân tích những “điểm thắt cổ chai” của các chức năng găp phải khi đươc thực hiện bởi lượng người dùng lớn

2 Các loại kiểm thử hiêu năng

2.1 Kiểm thử baseline

Các phép đo cơ bản (Baseline testing) nên được thực hiện trước khi thưc thi các tiến trình kiểm thử đẩy tải Mục đích của dạng kiểm tra này là để xác minh script chạy như mong muốn và cho phép bạn xác định các khía cạnh của một ứng dụng hoạt động không tốt, ngay cả khi chỉ có một người dùng đang sử dụng nó Nếu một ứng dụng không đáp ứng yêu cầu của bạn trong tình huống này, rõ ràng là những vấn đề phải được giải quyết trước khi bạn chay script thêm 1 lần nữa Khi một tập hợp các phép đo cơ bản đã được hoàn thành với kết quả đạt yêu cầu, một "điểm chuẩn dưới tải" (Benchmark under load) thử nghiệm được thực hiện

2.2 Kiểm thử Performance Load Tests

Sau khi kiểm tra baseline và benchmark -under-load được hoàn thành, viêc kiểm thử đẩy tải có thể được bắt đầu Đối với các case kiểm thử tải trọng (Load test) nhân viên kiểm thử nên chạy ít nhất 5 điểm tải, bao gồm các mô phỏng 50%, 75%, 100%, 125%

và 150% tải của hệ thống dự kiến Bằng cách này, nhân viên kiểm thử sẽ có thể xác định đươc ngưỡng đáp ứng của hệ thống so với dư kiến

=> Mục tiêu của việc kiểm tra tải trọng là để đo thời gian đáp ứng của giao dịch, số người dùng đồng thời mà hê thống có thể đáp ứng đươc Đồng thời bằng cách theo dõi

tỷ lệ thất bại của các giao dịch, nhân viên kiểm thử có thể xác định xem các ứng dụng được thực hiện như dự kiến và xác định những điểm có thể gây tắt nghẽn ở các chức năng

Trang 2

2.3 Kiểm thử Stress Tests

Kiểm tra tải (Stress testing) tập trung vào việc xác định các điểm break máy chủ Đối với loai kiểm thử này, bạn dần dần tăng số lượng người dùng đồng thời, cho đến khi làm chết máy chủ Thời gian (Response time) của các của các case test Stress không được xác định trước, bạn tăng người dùng đồng thời dần dần, đến một điểm mà tất cả các tài nguyên máy chủ cạn kiệt Bằng cách giám sát các tài nguyên máy chủ trong thời gian stress test và phân tích các bản ghi hệ thống sau một thất bại có thể xác định các điều kiện gây ra sự cố trong quá trình kiểm thử

2.4 Kiểm thử Endurance Tests

Kiểm tra độ bền khác kiểm tra tải Load Testing và Stress Testing, trong đó kiểm tra độ bền kiểm tra cách thức ứng dụng thực hiện khi chạy một số lượng đáng kể người dùng đồng thời trong thời gian dài của thời gian Mục đích của việc kiểm tra sức chịu đựng là xác định rò rỉ bộ nhớ, suy giảm hiệu suất theo thời gian, và sự ổn định của toàn hệ thống Nó được phổ biến cho những casetest được thực hiện trong một khoảng thời gian khác nhau, từ 12 giờ đến 1 tuần Chỉ số quan trọng để theo dõi trong một 1 lần test tải

đô bền là: thời gian đáp ứng giao dịch, các thống số về bộ nhớ, CPU, thông lượng

Ngoài ra cần tìm hiểu thêm 1 số loại kiểm thử hiệu năng khác, cũng rất quan trọng:

2.5 Kiểm thử năng lực và sizing (Sizing and Capacity Tests)

2.6 Thực thi Debug và Turing (Performance Tuning and Debugging)

2.7 Batch Testing

Tham khảo thêm: Tài liệu về lý thuyết kiểm thử hiệu năng thường được chia thành các loại

sau:

 Load test

- Xác định hành vi của hệ thống dưới điều kiện tải thường và cao tải

- Cho phép đo các thông số: response time, throughput rate, bandwidth, mức độ sử dụng tài nguyên ( CPU, RAM )

- Xác định điểm break của hệ thống: không cố ý làm break

- Endurance testing (kiểm thử sức chịu đựng): xác định đặc tính hiệu năng của hệ thống khi hoạt động đưới điều kiện khối lượng và tải dự kiến trong một thời kỳ.

 Stress test

Trang 3

- Tìm ra các lỗi hệ thống chỉ xuất hiện trong các trường hợp tải khắc nghiệt , cạnh tranh tài nguyên: rò rỉ bộ nhớ, thiếu dung lượng đĩa, thiếu băng thông mạng

- Xác định điểm gãy của server và hành vi của hệ thống khi xảy ra sự cố Chẳng hạn, hệ thống có thể chịu đựng được 30 người dùng đồng thời Thực hiện stress test sẽ thực hiện kiểm thử với tình huống cả 30 người đăng nhập cùng lúc và hành

xử của hệ thống khi có người thứ 31 cố gắng đăng nhập?

- Kết quả stress test: hoặc hệ thống hoạt động bình thường hoặc hiệu suất giảm xuống hoặc sẽ xảy ra sự cố Từ đó xác định ngưỡng của hệ thống.

- Chú ý: quá trình stress test là không xác định trước, vì người kiểm thử sẽ phải tang dần dần người dùng đồng thời, sự cạnh tranh tài nguyên cho đến khi nó bị cạn kiệt Người kiểm thử xác định điều kiện dẫn đến lỗi bằng cách giám sát tài nguyên server trong suốt quá trình kiểm thử stress test và phân tích log của hệ thống sau failure

- Spike testing: xác định đặc tính hiệu năng của hệ thống khi hoạt động đưới điều kiện khối lượng và tải tăng liên tục vượt quá dự kiến trong thời gian ngắn.

 Volumn test

- Xác định giới hạn độ lớn dữ liệu của hệ thống

- Số lượng lớn nhất các kết nối cùng thực hiện 1 chức năng nghiệp vụ trong 1 chu

kỳ mở rộng ( stress test trong chu kỳ rộng)

- Ví dụ: kiểm thử hiệu năng việc import/ insert khoảng 20MB dữ liệu vào DB cùng lúc

Việc thực hiện kiểm thử hiệu năng hiện tại của TTPM thì đang chia lại thành 2 loại:

 Test đáp ứng: Kiểm thử khả năng đáp ứng được số lượng người dùng đồng thời (CCU) mong muốn Số CCU này do đội dự án cung cấp.

 Test ngưỡng: tìm ra ngưỡng chịu đựng của hệ thống ( test đến khi hệ thống chết)

3 Các bước kiểm thử hiệu năng`

Quy trình thưc hiện kiểm thử hiệu năng trải qua 5 bước cơ bản

3.1 Đánh giá

Môt kết quả đánh giá đúng đắn và thích hợp sẽ giúp cho viêc tối ưu hóa, hiệu quả hóa cách tiếp cân việc kiểm thử hiệu năng trước một hê thống

hoạch kiểm thử

Tao Testcase, testscript

Thưc hiên kiểm thử hiệu năng

Tổng hơp và phân tích kết quả kiểm thử

Trang 4

Để đánh giá tốt, người thưc hiện cần phải nắm rõ đươc 1 số các nôi dung như sau:

- Nỗ lực cần dành cho công việc

- Các công cụ có thể sử dụng để kiểm thử hiêu năng hệ thống

- Các yêu cầu về rằng buôc dữ liệu của hệ thống

- Các yêu cầu thực hiện kiểm thử

- Kết quả mong muốn

3.2 Lập kế hoạch

Môt kế hoạch kiểm thử/chiến lược kiểm thử sẽ giúp ban xây dưng đầy đủ, chi tiết và khoa học các thành phần tham gia, thời gian, kế hoach, những yêu cầu trước khi thực hiện kiểm thử Tài liệu kế hoạch kiểm thử bao gồm các nội dung quan trọng như sau:

o Danh sách các chức năng thưc hiên kiểm thử

o Người tham gia thưc hiện kiểm thử, nỗ lưc tham gia

o Thời gian bắt đầu, kết thúc công việc

o Các yêu cầu rằng buôc của hệ thống

o Thiết kê các bảng workload

3.3 Tạo Testcase, testscript

Từ tài liệu kế hoạch kiểm thử (test plan), nhân viên kiểm thử tạo kich bản kiểm thử cho các trường hơp thưc hiện kiểm thử hiệu năng (tương tự như kiểm thử chức năng, tuy nhiên bổ sung thêm phần rằng buộc dữ liệu, kết quả mong muốn hiệu năng: CCU, Response time, Throught, Pass/Fail …

Sau khi hoàn thành testcase, nhân viên kiểm thử sẽ sử dung công cụ để tao kịch bản (Script) mô phỏng lại các chức năng kiểm thử Với hầu hết các công cu, các công việc cần thao tác để toàn script hoàn chỉnh, có thể sử dung để đẩy tải bao gồm:

o Record thao tác hê thống

o Thưc hiên chèn các transaction, comment, các thành phần khác trong quá trình record

o Sau khi công cụ thực hiên gencode, thực hiện tham biến (Correlation data, userdata)

o Tạo bộ dữ liêu (test data) để thưc hiên kiểm thử giả lâp

o Thực hiên chèn checkpoint

o Ngoài ra có thể thực hiện config các giá trị: thinktime…

Trang 5

3.4 Thực hiện kiểm thử hiệu năng

Thưc hiên kiểm thử sẽ bao gồm 2 giai đoạn:

Giai đoan 1: Kiểm thử baseline:

Viêc chạy thử nghiệm đẩy tải chỉ khi tất cả các vấn đề được tìm thấy trong tiến trình chay playback (Test baseline) đã được giải quyết và sửa chữa, khi người thưc hiên kiểm thử thưc sư hiểu cách hệ thống phản hồi trong mỗi lần chay (Request & Response server…)

Giai đoan 2: Kiểm thử giả lâp nhiều người dùng:

Giai đoan này bao gồm 2 tiến trình:

- Kiểm thử đẩy tải đơn lẻ chức năng: Viêc kiểm thử tải đơn lẻ các chức năng sẽ

giúp cho viêc phát hiên các điểm “thắt cổ chai” của hê thống Nghĩa là phát hiên ra các phân hê/ module có tiến trình chay lỗi chức năng/ hoăc không đáp ứng mong muốn hiêu năng của người dùng => phuc vu cụ thể cho công tác tối hóa hiệu năng hệ thống

- Kiểm thử đẩy tải theo bản workload (Kiểm thử tích hơp các chức năng): Dưa

vào phân tích từ kế hoạch/ chiến lươc kiểm thử Nhân viên kiểm thử xây dựng lich biểu (Schedule) để mô phỏng các bảng workload đã thiết kế ( Mỗi workload có nhiều chức năng khác nhau, số lương CCU phân bổ khác nhau) Viêc kiểm thử này sẽ mô phỏng đươc gần nhất tác vụ nghiêp vu thưc tê của khách hàng khi đưa hê thống chính thức đươc sử dung Từ đó, sẽ cho đôi dự án nhìn thấy đươc kết quả đã đáp ứng/ chưa đáp ứng hiệu năng mong muốn với số CCU, Response time, Throughput, tài nguyên chiếm dụng khi hệ thống chiu tải

Các điểm cần lưu ý khi thưc hiện kiểm thử đẩy tải:

o Kết nối để lấy resource monitoring

o Cấu hình nâng cao schedule

3.5 Tổng hơp và phân tích kết quả

Từ kết quả kiểm thử trích xuất ở công cu, nhân viên kiểm thử sẽ thưc hiên tổng hợp báo cáo các lần kiểm thử từ kiểm thử baseline, đẩy tải để đôi dư án phân tích kĩ hơn, cũng như là bằng chứng để nhiêm vụ hệ thống với khách hàng

Trong báo cáo cần tổng hơp các thông số thiết yếu sau:

Thời gian phản hồi (Response time) là thời gian từ lúc client gửi request tới

server cho đến khi client nhận được response từ server trả về

Trang 6

Response time = Transfering time + Waiting time + Processing time Trong đó Transfering time là thời gian truyền tải dữ liệu trên đường truyền, Waiting time là thời gian request chờ trong queue, Processing time là thời gian request được xử lý thực sự

Throughput: Thông lượng hệ thống, tính bằng số giao dịch (transaction) hệ

thống đáp ứng được trong một khoảng thời gian Đơn vị tổng quát là transaction per time_period vd: transactions per second, calls per day

Concurrency: Số giao dịch đồng thời được thực hiện, tính bằng số giao dịch

đồng thời hệ thống đáp ứng được

Capacity Measure: chính là số lượng người dùng truy cập lớn nhất mà ứng dụng

có thể đáp ứng được tại cùng một thời điểm Về cơ bản ta sẽ thực hiện kiểm thử trong một khoảng thời gian T1 nhất định (thời gian đáp ứng) và tăng dần số lượng người dùng thực hiện chức năng cho đến khi sever nghẽn/chết -> ở đây ta sẽ lấy số lượng người dùng truy cập ngay trước thời điểm server nghẽn/chết mà vẫn thỏa mãn chưa vượt quá thời gian T1 (response time) và tỷ lệ fail chưa vượt quá 10%

CPU usage: Hiệu suất sử dụng CPU

RAM usage: Hiệu suất sử dụng RAM

Tỉ lê Fail/Pass: Tỉ lệ lỗi, tính bằng số giao dịch không thực hiện thành công trên

tổng số giao dịch đã thực hiện Giá trị này dùng để làm điều kiện cần cho các mục tiêu trên Đơn vị là %

Ngoài ra trong báo cáo của Rational Performance Tester, cũng còn nhiều cái thông

số cần tìm hiểu thêm.

II Công cu kiểm thử hiệu năng

1 Một số các công cụ kiểm thử hiêu năng

Công cụ kiểm thử hiêu năng là các phần mềm hỗ trợ viêc tạo kich bản kiểm thử và giả lập người dùng với số lương lớn để thưc thi các trường hơp kiểm thử tải

Có rất nhiều phần mềm kiểm thử hiệu năng trên thị trường Nó có thể được chia thành hai loại chính: phần mềm mã nguồn mở và phần mềm có bản quyền

Ngày đăng: 01/07/2016, 15:31

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w