Làm thế nào để trở thành người kiểm thử hiệu năng tốt hơn

thC06Q8UWP.jpg

Các hệ thống hiện đại thường phức tạp và các yêu cầu về hiệu suất cho mỗi hệ thống cũng là duy nhất. Kéo theo đó là các phương pháp kiểm thử cũng sẽ rất khác nhau từ hệ thống này đến hệ thống khác. Ở đây, Jun Zhuang nói về việc làm thế nào để bắt đầu cho công việc kiểm thử hiệu suất của bạn, các phương pháp thông minh để quản lý thời gian và cần thiết để nắm bắt được các công cụ kiểm thử.

Con người thực hiện kiểm thử hiệu suất với nhiều lý do khác nhau, và một số kiểm thử trở nên rất hữu ích cho việc phải mất nhiều thời gian dành cho nó, nhưng một số còn lại thì lại tầm thường. Mặc dù bên ngoài chúng thường khác nhau, các phẩm chất chung giữa các tester giỏi bao gồm có hiểu biết về các công nghệ kỹ thuật máy tính, tò mò và hiếu kỳ, và ham học hỏi. Nếu bạn là người mới ở lĩnh vực này và muốn tăng tốc độ nhanh, dưới đây sẽ có một vài chỉ dẫn cho bạn:

1. Tránh bắt đầu từ con số 0

th84DXZ4N9.jpg

Đối với bất kỳ một thời điểm bắt đầu nào, chúng tôi muốn biết rằng code mới có thực sự hiệu quả. Trước khi chúng tôi đưa ra công việc cho các kiểm tra thực tế, chúng tôi cần thiết thu thập thông tin để xác nhận các vị trí nơi mà bị bao phủ (có thể bị tác động lớn), các kịch bản này sẽ được thực hiện, các tiêu chuẩn chấp nhận tải và hiệu suất.v..v..

Nhưng một vấn đề chung ở các tester thiếu kinh nghiệm đó là họ không biết các câu hỏi là gì để hỏi được thông tin hữu ích nhất. Đầu tiên phải kể đến, nhà phát triển không bao giờ tham gia vào quá trình kiểm thử hiệu suất trước, điều này không phải là hiếm, anh ta có thể không biết thông tin gì để cung cấp cho các kiểm tra của bạn để có hiệu quả cho các vấn đề về hiệu suất. Kết hợp hai yếu tố này thường dẫn đến các vùng bị lỗi, nơi mà nên được kiểm thử hoặc sử dụng quá nhiều hiệu suất trong các khu vực này là ít được chú trọng

Câu hỏi tại sao, khi nào có thể, đây là điều quan trong cho một tester mới về kiểm thử hiệu suất và được một ai đó chỉ dẫn, người mà có nhiều kinh nghiệm hơn trong một thời gian dài kiểm thử hiệu suất. Với lời khuyên đúng, anh ta sẽ có một vài chỉ dẫn nhanh và tránh được nhiều rủi ro phổ biến. Điều quan trọng nhất, anh ta có thể đưa ra những lời khuyên đúng để hướng tới một quy trình chung cho công việc kiểm thử hiệu suất ngay từ đầu. Điều này là quan trọng hơn việc học để sử dụng các công cụ.

Các lợi ích khác bao gồm việc tìm hiểu các cách sử dụng một công cụ, tìm ra cách để giải thích các kết quả kiểm thử (ví dụ, nếu thời gian cho một giao dịch được giảm xuống thì điều này có nghĩa là hiệu suất được cải thiện không?), điều này giúp cho việc xác định chính xác điểm nút thắt của hiệu suất, và trở nên có nhiều kinh nghiệm hơn trong việc thiết kế kiểm thử.

Ở đây, tôi muốn nhấn mạnh rằng khi tôi nói các tester mới trong việc kiểm thử hiệu suất nên có một ai đó chỉ dẫn, người mà có kinh nghiệm hơn, tôi đề cập đến người có kinh nghiệm, nếu anh ta hoặc cô ta đã thực hiện phân tích yêu cầu, xây dựng kế hoạch kiểm thử, thiết kế testcase, tạo kịch bản, thực hiện kiểm thử, giải quyết vấn đề, … trong một thời gian dài. Nếu người này phải nắm vững quy trình tổng quan, ghi lại hoặc chạy các kịch bản đơn thuần trong nhiều năm thì không tạo nên một người có kinh nghiệm.

2. Làm thế nào để tôi có thể làm được tất cả các công việc

do-all-the-things.jpg

Mô hình phát triển phần mềm Agile đã được chấp nhận rộng rãi, nhưng không phải tất cả các công ty có người đủ khả năng chuyên môn kiểm thử hiệu suất cho mỗi đội Scrum; ít nhất, đó là trường hợp các công ty mà tôi đã từng làm việc, tôi luôn phải chịu trách nhiệm cho hơn 1 team. nếu tôi tham gia tất cả các buổi họp của các team, tôi sẽ không có nhiều thời gian cho tôi kiểm thử. Các phương pháp chúng tôi thường áp dụng đó là:

• Nhận những thứ mà các nhà phát triển chuyển giao để làm bất cứ điều gì, họ có thể chụp ảnh các vấn đề về hiệu xuất trước khi chuyển giao code cho QA, chẳng hạn như kiểm thử mức đơn vị và kiểm tra lại code.

• Tất cả team đồng ý để chúng tôi chủ động tiếp cận khi họ cần có tester kiểm thử hiệu suất tham gia.

• Đối với các team làm việc ở các khu vực quan trọng của hệ thống hoặc biết kiểm thử hiệu suất chủ động trước sẽ là điều cần thiết, chúng tôi tham gia các buổi họp của họ thường xuyên hơn.

• Hiệu quả và hữu ích

• Biết về hệ thống cũng như có thể cho chúng tôi biết vị trí tập trung sự quan tâm của chúng tôi

Các kế hoạch được thực hiện ở tất cả các thời điểm, nhưng có một vài thời điểm chúng tôi phải đẩy nhanh để đáp ứng được thời hạn khi mà một vấn đề về hiệu suất xuất hiện và cần rất nhiều thời gian của chúng tôi. Cũng vậy, cần chú ý rằng những chia sẻ nguồn tài nguyên không có nghĩa quy định cho sự thành công trong môi trường agile. Nó nên được giảm bớt nếu có thể.

Thêm vào các kế hoạch ở trên, nó là cách tốt nhất để quản lý thời gian của bạn một cách tốt nhất. Cố gắng lập kế hoạch và thực hiện sớm ngay khi có thể, đưa những kết quả bất ngờ vào kế hoạch, ưu tiên công việc của bạn và nghiệp vụ kiểm thử - các vùng quan trọng và các vùng thường chịu tác động đầu tiền và ảnh hưởng nhất.

Sự khác nhau chính giữa kiểm thử chức năng và kiểm thử hiệu suất đó là điều chú trọng của kiểm thử chức năng là một ứng dụng được thao tác thành công các chức năng, trong khi điều chú trọng của kiểm thử hiệu suất là làm thế nào để ứng dụng có thể thao tác các chức năng dưới một lượng tải lớn.

Các hệ thống hiện đại bao gồm rất nhiều thành phần, mỗi thành phần đều có thể liên quan đến hiệu suất. Ở đây xét một ví dụ, đó là một hệ thống rất đơn giản, nó có thể có CSDL, một ứng dụng, và một proxy, cùng với đó là kết nối mạng, hệ điều hành và tường lửa. Những thành phần này có thể xảy ra lỗi ở bất kỳ vị trí nào của hệ thống – chỉ cần nhắc đến tên một vài vị trí như là: code không hiệu quả, phần cứng, băng thông mạng, quản lý bộ nhớ, danh mục các bảng CSDL, hoặc các luồng tác động lẫn nhau, Do vậy, bạn nên biết nhiều hơn về mỗi thành phần và chúng tương tác với nhau như thế nào, và tốt hơn hết bạn được trang bị để đưa ra các kiểm thự hiệu quả và giúp cho các phát hiện sai.

Thường chúng tôi phải có một phần hệ thống stub để thực hiện kiểm thử phần khác vì một phần stub vẫn dành cho các nhà phát triển hoặc không sẵn sàng cho việc kiểm thử. Nếu bạn có nền tảng lập trình tốt và có thể viết stub của chính bạn thay vì đợi nhà phát triển, bạn có thể thực hiện kiểm thử nhanh hơn SQL là như thế nào? Kiểm thử hiệu suất thường yêu cầu một giá trị hợp lý khi dữ liệu thay đổi đối với kết quả thực tế. Cách nhanh nhất và hiệu quả nhất là chuẩn bị dữ liệu bằng cách thêm thông tin trực tiếp vào CSDL. Nếu bạn có thể viết các câu lệnh SQL thay vì đợi ai đó khác thực hiện giúp bạn, điều này sẽ không tốt.

Tôi đang cố gắng nói ở đây đó là hiểu biết nhiều về các công nghệ sử dụng trong kỹ thuật máy tính có thể làm nhiều thứ trở nên đơn giản hơn trong mọi trường hợp của kiểm thử hiệu suất: Một script Perl hay Shell có thể tạo thuận lợi cho việc phân tích dữ liệu, hiểu biết về mạng có thể giúp đưa ra các vấn đề về hiệu suất, hiểu biết về CSDL có thể giúp trong việc phân tích các kết quả kiểm thử và nhiều hơn thế nữa. Bạn không cần là một chuyên gia của tất cả các công nghệ vì bạn luôn luôn có thể học nó khi cần.

Nếu tôi phải lựa chọn giữa một người nào đó có 10 năm kinh nghiệm trong kiểm thử hiệu suất nhưng không có kiến thức ngoài các công cụ kiểm thử và một người khác có ít kinh nghiệm nhưng biết biết một chút về tất cả thứ khác, có lẽ tôi sẽ lựa chọn người có ít kinh nghiệm. Như một thực tế, những người kiểm thử hiệu suất giỏi tôi biết thường là những người ở các lĩnh vực khác hơn là kiểm thử.

KẾT LUẬN

Các hệ thống hiện đại thường phức tạp và các yêu cầu về hiệu suất cho mỗi hệ thống là duy nhất. Kéo theo đó, chiến lược kiểm thử cũng rất khác nhau từ hệ thống này sang hệ thống khác. Không có một điều gì đó gọi là ma thuật để có thể làm tăng hiệu quả và chất lượng của kiểm thử hiệu suất.

Tuy nhiên, chúng tôi thực hiện một vài đề xuất trong các công ty tôi đã làm việc và nhìn thấy tác động tích cực của nó. Tôi hy vọng bạn có thể làm như vậy.

Refer: https://www.stickyminds.com/article/how-become-better-performance-tester-101