12/08/2018, 16:05

QUẢN LÝ CHU KÌ KIỂM THỬ HIỆU SUẤT AGILE (Phần I)

Tìm hiểu cách tiếp cận để quản lý thử nghiệm hiệu suất Agile. Tìm hiểu làm thế nào để tối đa hóa tính linh hoạt mà không bị mất kiểm soát. Tìm hiểu cách cung cấp cho các nhà quản lý và các bên liên quan tiến độ và giá trị. Tìm hiểu làm thế nào để cung cấp một cấu trúc để thu thập thông tin ...

  • Tìm hiểu cách tiếp cận để quản lý thử nghiệm hiệu suất Agile.
  • Tìm hiểu làm thế nào để tối đa hóa tính linh hoạt mà không bị mất kiểm soát.
  • Tìm hiểu cách cung cấp cho các nhà quản lý và các bên liên quan tiến độ và giá trị.
  • Tìm hiểu làm thế nào để cung cấp một cấu trúc để thu thập thông tin mà sẽ không ảnh hưởng đáng kể đến lịch trình phát hành.
  • Tìm hiểu cách áp dụng một cách tiếp cận được thiết kế để thay đổi, chứ không chỉ đơn giản chấp nhận nó.

Chương này mô tả cách tiếp cận nhanh để quản lý kiểm thử ra hiệu suất ứng dụng. Như thuật ngữ ngụ ý, chìa khóa của một cách tiếp cận nhanh nhẹn là tính linh hoạt. Tính linh hoạt, tuy nhiên, không có nghĩa là sự tùy tiện hoặc không hiệu quả. Để duy trì hiệu quả và triệt để trong một môi trường nhanh, bạn có thể cần thay đổi cách bạn được sử dụng để quản lý kiểm thử hiệu suất của mình. Thực hiện một triết lý nhanh có nghĩa là những thứ khác nhau cho các nhóm khác nhau, từ eXtreme Programming (XP) cho đến các dự án với nhiều lần lặp lại ngắn và tài liệu được thiết kế cho hiệu quả. Cách tiếp cận được vạch ra trong chương này đã được áp dụng thành công bởi các nhóm trong dải phổ này với sự điều chỉnh tối thiểu. Chương này giả định rằng chuyên gia về hiệu suất là mới đối với nhóm đang được đề cập và tập trung vào các nhiệm vụ mà họ hay làm hoặc là chuyên gia về việc đó. Đây không phải là một nỗ lực để giảm thiểu khái niệm về trách nhiệm của nhóm cũng như không cố gắng tách biệt vai trò. Nhóm sẽ được phục vụ tốt nhất nếu chuyên gia thực hiện là một thành viên trong nhóm tham gia thực tiễn nhóm, chẳng hạn như ghép nối. Bất kỳ ý thức tách biệt nào là không chủ ý và là kết quả của việc cố gắng đơn giản hóa các giải thích. Cách tiếp cận này để quản lý kiểm thử hiệu suất có thể có vẻ phức tạp lúc đầu vì nó:

  • Nắm bắt sự thay đổi trong suốt vòng đời dự án.
  • Iterates (không phải luôn luôn trong một mô hình dự đoán được).
  • Khuyến khích lập kế hoạch đủ xa trước cho sự phối hợp của nhóm nhưng cho đến thời điểm đó kế hoạch đó có thể sẽ cần phải được sửa đổi lại để thực hiện.

Tuy nhiên, khi xem ở cấp công việc hoặc mục công việc, cách tiếp cận này thực sự là một quy trình trực quan dựa trên nguyên tắc liên tục hỏi và trả lời câu hỏi: "Tôi có thể làm gì ngay bây giờ mà sẽ làm tăng giá trị cho dự án?"

Sử dụng chương này để hiểu cách tiếp cận để kiểm thử hiệu suất trong các môi trường phát triển nhanh và mối quan hệ của nó với các hoạt động cốt lõi của kiểm thử hiệu suất. Sử dụng chương này cũng để hiểu những gì được thực hiện trong các hoạt động này. Để có được nhiều nhất từ chương này:

  • Sử dụng phần "Hoạt động kiểm thử hiệu suất nhanh" để có được cái nhìn tổng quan về cách tiếp cận để kiểm thử hiệu suất trong môi trường nhanh và như một hướng dẫn tham khảo nhanh cho bạn và nhóm của bạn.
  • Sử dụng các phần hoạt động khác nhau để hiểu các chi tiết của các nhiệm vụ kiểm thử hiệu suất quan trọng nhất.
  • Ngoài ra, hãy sử dụng Chương 4 - Các hoạt động chính trong hướng dẫn này để hiểu các hoạt động chính phổ biến liên quan đến các dự án thử nghiệm thành công. Điều này sẽ giúp bạn áp dụng các khái niệm cơ bản của các hoạt động này vào một cách tiếp cận cụ thể để kiểm thử hiệu suất.

Khi xem xét từ góc độ tuyến tính, cách tiếp cận bắt đầu bằng việc kiểm tra dự án phát triển phần mềm nói chung, lý do tại sao các bên liên quan đã chọn để bao gồm thử nghiệm hiệu suất trong dự án và giá trị mà thử nghiệm hiệu suất dự kiến sẽ thêm vào dự án. Kết quả của cuộc kiểm thử này bao gồm quan điểm của nhóm về các tiêu chuẩn thành công cho nỗ lực kiểm thử hiệu suất.

Một khi các tiêu chí thành công được hiểu ở mức độ cao, một chiến lược tổng thể được hình thành để hướng dẫn cách tiếp cận chung để đạt được các tiêu chí này bằng cách tóm tắt những hoạt động thử nghiệm hiệu quả nào được dự kiến sẽ làm tăng giá trị ở nhiều điểm trong suốt chu trình phát triển. Những điểm này có thể bao gồm các giao hàng chính của dự án, trạm kiểm soát, chạy nước rút, lặp lại, hoặc xây dựng hàng tuần. Theo mục đích của chương này, các sự kiện này được gọi chung là "xây dựng hiệu suất". Thông thường, trong khi chiến lược đang phát triển, chuyên gia thực hiện và / hoặc nhóm sẽ bắt đầu thiết lập một môi trường thử nghiệm hiệu suất và môi trường tải trọng.

Với một chiến lược trong tâm trí và các môi trường cần thiết tại chỗ, nhóm thử nghiệm đưa ra kế hoạch cho các bài kiểm tra chính hoặc các nhiệm vụ được xác định cho việc xây dựng hiệu suất sắp xảy ra. Khi xây dựng hiệu suất được thực hiện, các nhiệm vụ của kế hoạch phải được thực hiện theo trình tự ưu tiên (dựa trên tất cả các thông tin hiện có), báo cáo, ghi chép, sửa đổi, bổ sung và loại bỏ các nhiệm vụ và cải tiến ứng dụng và kế hoạch tổng thể tiến triển.

Cách tiếp cận này có thể được biểu diễn bằng cách sử dụng 9 hoạt động sau:

Hoạt động 1. Hiểu được tầm nhìn và bối cảnh của dự án (Understand the Project Vision and Context). Viễn cảnh và bối cảnh của dự án là nền tảng để xác định các hoạt động kiểm thử hiệu suất là cần thiết và có giá trị. Hoạt động 2. Xác định các lý do để kiểm thử hiệu suất (Identify Reasons for Testing Performance). Nó không phải là luôn luôn rõ ràng từ tầm nhìn và bối cảnh. Xác định một cách rõ ràng các lý do để kiểm thử hiệu suất là rất quan trọng để có thể xác định những hoạt động thử nghiệm hiệu suất nào sẽ làm tăng giá trị cho dự án. Hoạt động 3. Xác định Kiểm tra Hiệu suất Giá trị Thêm vào Dự án (Identify the Value Performance Testing Adds to the Project). Với thông tin thu được từ bước 1 và 2, làm rõ giá trị gia tăng thông qua thử nghiệm hiệu suất và chuyển giá trị đó thành chiến lược kiểm thử hiệu suất. Hoạt động 4. Cấu hình Môi trường Kiểm tra (Configure the Test Environment). Với chiến lược khái niệm đúng chỗ, chuẩn bị các công cụ và nguồn lực cần thiết để thực hiện chiến lược vì các tính năng và thành phần có sẵn để thử nghiệm. Hoạt động 5. Xác định và điều phối các công việc trực quan có giá trị ngay lập tức (Identify and Coordinate Immediately Valuable Tactical Tasks). Các nhiệm vụ kiểm thử hiệu suất không xảy ra một cách độc lập. Vì lý do này, chuyên gia thực hiện cần làm việc với nhóm để ưu tiên và phối hợp các nguồn hỗ trợ, các nguồn lực và lịch trình để làm cho các nhiệm vụ trở nên hiệu quả và thành công. Hoạt động 6. Thực hiện (các) tác vụ(Execute Task(s)). Thực hiện các nhiệm vụ trong phân đoạn từ một đến hai ngày. Xem chúng cho đến khi hoàn thành, nhưng sẵn sàng đi đường vòng quan trọng trên đường đi nếu có cơ hội để thêm giá trị bổ sung chính nó. Hoạt động 7. Phân tích kết quả và báo cáo (Analyze Results and Report). Để theo kịp với một quá trình lặp đi lặp lại, các kết quả cần được phân tích và chia sẻ nhanh chóng. Nếu phân tích là không thuyết phục, thử lại ở cơ hội sớm nhất có thể. Điều này cho phép nhóm có thời gian nhất để phản ứng lại với các vấn đề về hiệu suất. Hoạt động 8. Xem xét các hoạt động 1-3 và Xem xét các Tiêu chí Chấp nhận Thực hiện (Revisit Activities 1-3 and Consider Performance Acceptance Criteria). Giữa lặp đi lặp lại, đảm bảo rằng thông tin cơ bản không thay đổi. Tích hợp các thông tin mới như phản hồi của khách hàng và cập nhật chiến lược khi cần thiết Hoạt động 9. Phân cấp lại Nhiệm vụ (Reprioritize Tasks). Dựa trên kết quả kiểm tra, thông tin mới, tính sẵn sàng của các tính năng và các thành phần, thay đổi lại, thêm vào hoặc xóa nhiệm vụ từ chiến lược, sau đó trở lại hoạt động 5.

Hình minh họa sau đây cho thấy 7 hoạt động chính được mô tả trong chương 4 liên quan đến chín hoạt động thử nghiệm hiệu năng nhanh

Hoạt động 1. Hiểu được tầm nhìn và bối cảnh dự án (Understand the Project Vision and Context)

Tầm nhìn và bối cảnh của dự án là nền tảng để xác định thử nghiệm hiệu năng là cần thiết và có giá trị. Sự hiểu biết ban đầu của nhóm thử nghiệm về hệ thống đang được thử nghiệm, môi trường dự án, động lực đằng sau dự án và lịch trình xây dựng hiệu suất thường có thể được hoàn thành trong một phiên làm việc liên quan đến chuyên gia thực hiện, nhà phát triển chính và người quản lý dự án (nếu bạn cũng có lịch trình dự kiến dự án). Các quyết định được đưa ra trong phiên làm việc có thể được sắp xếp lại trong các lần lặp lại và các phiên làm việc khác khi hệ thống trở nên quen thuộc.

Tầm nhìn của dự án

Trước khi bắt đầu kiểm thử hiệu suất, đảm bảo rằng bạn hiểu tầm nhìn của dự án hiện tại. Bởi vì các tính năng, triển khai, kiến trúc, thời gian và môi trường có thể thay đổi theo thời gian, bạn nên quay lại tầm nhìn thường xuyên vì nó có tiềm năng thay đổi. Mặc dù mỗi thành viên trong nhóm nên suy nghĩ về hiệu suất, nhưng trách nhiệm của chuyên gia là chủ động trong việc hiểu và cập nhật những chi tiết có liên quan trong toàn bộ nhóm. Sau đây là ví dụ về tầm nhìn của dự án cấp cao:

  • Đánh giá một kiến trúc mới cho một hệ thống hiện có.
  • Phát triển một hệ thống tùy chỉnh mới để giải quyết một vấn đề kinh doanh cụ thể.
  • Đánh giá các công cụ phát triển phần mềm mới.
  • Là một nhóm, trở nên thông thạo trong một ngôn ngữ hoặc công nghệ mới.
  • Tái thiết kế ứng dụng không đầy đủ trước thời gian hoạt động của người dùng để tránh sự không hài lòng của người dùng do lỗi ứng dụng.

Bối cảnh dự án

Bối cảnh của dự án không chỉ là những yếu tố có thể hoặc có thể trở thành phù hợp để đạt được tầm nhìn của dự án. Một số ví dụ về các mục có thể liên quan đến ngữ cảnh dự án của bạn bao gồm:

  • Mong đợi của khách hang
  • Ngân sách
  • Mốc thời gian
  • Nhân sự
  • Môi trường dự án
  • Cách tiếp cận quản lý Những mục này thường được thảo luận trong cuộc họp dự án nhưng lại được xem lại thường xuyên trong suốt dự án khi có nhiều thông tin hơn và khi nhóm nghiên cứu biết thêm về hệ thống đang phát triển.

Hiểu hệ thống

Hiểu được hệ thống mà bạn đang thử nghiệm bao gồm việc trở nên quen thuộc với mục đích của hệ thống, những gì hiện đang được biết đến hoặc thừa nhận về kiến trúc phần cứng và phần mềm của nó, cũng như thông tin sẵn có về khách hàng hoặc người dùng của hệ thống đã hoàn thành. Với nhiều dự án nhanh, kiến trúc của hệ thống và thay đổi chức năng trong suốt quá trình thực hiện dự án. Trên thực tế, việc kiểm thử hiệu suất bạn thực hiện thường là trình điều khiển đằng sau ít nhất một số thay đổi đó. Giữ điều này trong đầu sẽ giúp bạn đảm bảo rằng các nhiệm vụ kiểm thử hiệu suất không phải là quá kế hoạch hoặc dưới kế hoạc trước khi bắt đầu thử nghiệm.

Hiểu Môi trường Dự án

Về mặt môi trường dự án, điều quan trọng nhất là hiểu về tổ chức, hoạt động và kỹ thuật truyền thông của nhóm. Nhóm Agile có xu hướng không sử dụng các tài liệu và cuộc họp giao ban dài như phương pháp quản lý và truyền thông; thay vào đó, họ lựa chọn hàng ngày đứng-up, câu chuyện thẻ, và thảo luận tương tác. Không hiểu các phương pháp này vào đầu dự án có thể đưa thử nghiệm hiệu suất thất bại trước khi nó bắt đầu. Hỏi các câu hỏi sau đây hoặc tương tự có thể hữu ích:

  • Nhóm nghiên cứu có tổ chức các buổi gặp gỡ, đứng lên, hoặc cuộc đụng độ theo lịch trình không?
  • Các vấn đề được đưa ra như thế nào?
  • Nếu tôi cần làm việc với ai đó, tôi có nên gửi một tin nhắn e-mail không? Lên lịch cuộc họp? Sử dụng Instant Messenger? Đi bộ đến văn phòng của mình?
  • Nhóm này sử dụng giao thức "không làm phiền" khi một cá nhân hoặc nhóm phụ muốn "thời gian yên tĩnh" để hoàn thành một nhiệm vụ đặc biệt khó khăn?
  • Ai có quyền cập nhật kế hoạch dự án hoặc bảng dự án?
  • Các nhiệm vụ được phân công và theo dõi như thế nào? Hệ thống phần mềm? Thẻ câu chuyện? Đăng ký?
  • Làm thế nào để tôi xác định được những gì tôi nên tập trung cho thử nghiệm hiệu suất? xây dựng hằng ngày? Xây dựng vào mỗi ngày thứ 6? Xây dựng với một thẻ đặc biệt?
  • Làm thế nào để kiểm tra hiệu suất xây dựng được thăng cấp cho môi trường thử nghiệm hiệu suất?
  • Các nhà phát triển có nên viết bài kiểm tra hiệu suất đơn vị không? Tôi có thể ghép đôi với họ định kỳ để chúng tôi có thể chia sẻ thông tin không?
  • Làm thế nào để bạn hình dung sự phối hợp của các nhiệm vụ kiểm tra hiệu suất?

Hiểu được lịch trình xây dựng hiệu xuất

Ở giai đoạn này, tiến độ dự án sẽ làm cho lối vào của nó không thành vấn đề dù lịch trình của dự án có dưới dạng lịch làm việc của máy tính để bàn, bảng câu chuyện, bảng trắng, tài liệu, bộ nhớ của ai đó hay hệ thống quản lý dự án dựa trên phần mềm. Tuy nhiên, ai đó hoặc một cái gì đó phải truyền đạt được chuỗi các việc, tính năng và / hoặc các triển khai phần cứng dự kiến liên quan đến các tiêu chí thành công của hoạt động. Bởi vì bạn không tạo ra một kế hoạch kiểm thử hiệu suất tại thời điểm này, hãy nhớ rằng không quan trọng để tự quan tâm đến ngày tháng và nguồn lực. Thay vào đó, hãy tham gia vào việc sắp xếp dự kiến về việc xây dựng hiệu suất, một ước tính sơ bộ về nội dung của chúng, và ước tính khoảng thời gian mong đợi giữa các bộ tạo hiệu suất. Việc xây dựng các tính năng cụ thể sẽ rất quan tâm bạn liên quan đến các thành phần phần cứng, phần mềm hỗ trợ và chức năng ứng dụng có sẵn để điều tra. Thông thường, bạn sẽ tìm thấy trong bước này rằng bạn thêm các mục cụ thể cho từng mục đích cụ thể vào các tiêu chí thành công của bạn và bạn bắt đầu sắp xếp các nhiệm vụ liên quan đến việc đạt được các tiêu chí thành công với các công trình dự kiến sẽ được xây dựng.

To be continued... Nguồn: https://msdn.microsoft.com/en-us/library/bb924361.aspx

0