Categories

Subscribe Now

* You will receive the latest news and updates on your favorite celebrities!

Automation Series

Agile Testing
Methods

Agile Testing 

Agile làm một phương thức phát triển phẩm mềm linh hoạt rất phổ biến hiện nay. Mô hình phát triển phần mềm Agile nhấn mạnh vào 4 giá trị cốt lõi sau:

  • “Cá nhân và sự tương hỗ quan trọng hơn quy trình và công cụ”
  • “Sản phẩm xài được quan trọng hơn tài liệu về sản phẩm”
  • “Cộng tác với khách hàng quan trọng hơn đàm phán hợp đồng”
  • “Phản hồi với sự thay đổi quan trọng hơn bám theo kế hoạch”

Không giống như mô hình WaterFall, việc kiểm thử trong mô hình Agile có thể thực hiện ngay từ khi bắt đầu dự án, trong đó việc phát triển và kiểm thử được tiến hành song song với nhau. Nếu quy trình phát triển trong mô hình WaterFall là tuần tự, việc kiểm thử chỉ được thực hiện sau khi giai đoạn phát triển đã hoàn thành xong thì với Agile việc kiểm thử diễn ra liên tục từ đầu cho đến khi kết thúc dự án. Trong mô hình Agile, việc kiểm thử sẽ tiến hành trong từng vòng lặp (Iteration), mỗi vòng lặp diễn ra trong một khoảng thời gian ngắn từ 1 đến 4 tuần. Những kiến thức cơ bản về kiểm thử Agile sẽ được trình bày trong 4 vấn đề sau:

  • Test Plan trong Agile.
  • Agile Testing Strategies.
  • Agile Testing Quadrant.
  • Những thách thức đối với QA trong Agile test.
  • Rủi ro trong Agile test.

Test Plan trong Agile

Không như trong mô hình WaterFall, test plan trong mô hình Agile được viết và update liên tục trong mỗi vòng lặp bao gồm:

  • Phạm vi test
  • Những chức năng mới sẽ cần test
  • Test level và test type
  • Load test và Performance test
  • Phân tích cơ sở hạ tầng
  • Các rủi ro và giải pháp
  • Nguồn lực
  • Sản phẩm bàn giao và mốc thời gian

12 nguyên tắc Agile

  • Ưu tiên cao nhất là bàn giao sản phẩm sớm và liên tục đến tay khách hàng.
  • Hoan nghênh các thay đổi từ phía khách hàng kể cả các thay đổi vào giai đoạn cuối.
  • Bàn giao sản phẩm theo chu kì ngắn từ vài tuần đến vài tháng.
  • Các nhân viên đều hiểu nghiệp vụ và các lập trình viên phải làm việc cùng nhau hàng ngày.
  • Tổ chức dự án xoay quanh các cá nhân tích cực, hỗ trợ và tin tưởng họ,
  • Phương pháp giao tiếp tốt nhất trong đội dự án là gặp trực tiếp để trao đổi và giải quyết vấn đề.
  • Các chức năng đã hoạt động là thước đo chính cho tiến độ của dự án.
  • Khuyến khích phát triển bền vững: lập trình viên, nhà quản lý, khách hàng… phải có khả năng tham gia dự án một cách liên tục.
  • Liên tục cải tiến chất lượng thiết kế và mã nguồn.
  • Tính đơn giản giữ vai trò cốt yếu: nghĩa là làm càng ít càng tốt những chất lượng vẫn đảm bảo.
  • Những yêu cầu và thiết kế tốt nhất được nảy nở từ những nhóm làm việc tự chủ.
  • Sau những khoảng thời gian nhất định, đội dự án xem xét cách thức cải tiến hiệu quả công việc.

ƯU ĐIỂM

  • Agile là sự lựa chọn rất tốt cho những dự án nhỏ bởi những dự án nhỏ thường có những yêu cầu không được xác định rõ ràng và có thể thay đổi thường xuyên.
  • Với Agile khách hàng có thể được xem trước từng phần dự án trong suốt quá trình phát triển vì Agile phát triển phần mềm theo hướng tăng dần, có thể đưa cho khách hàng xem từng phần đã thực hiện hoàn thành. Từ đó có thể bám sát dự án và luôn sẵn sàng cho bất kỳ thay đổi nào từ phía khách hàng yêu cầu về dự án.
  • Agile chia dự án thành những phần nhỏ và giao cho mỗi người, hàng ngày tất cả mọi người phải họp với nhau trong khoảng thời gian ngắn để thảo luận về tiến độ và giải quyết những vấn đề nảy sinh nếu có nhằm đảm bảo đúng quy trình phát triển dự án.
  • Tỉ lệ thành công của các dự án sử dụng Agile thường cao hơn các quy trình khác.

NHƯỢC ĐIỂM

  • Quy mô nhân lực thường giới hạn từ 7 đến 10 người, sẽ có trở ngại lớn nếu nguồn nhân lực yêu cầu vượt quá con số này ví dụ trong các cuộc họp trao đổi.
  • Số lượng yêu cầu có thể nhiều và khó quản lý nếu như nó bao gồm nhiều khía cạnh khác nhau về dự án.
  • Số lượng nhân lực càng tăng, chất lượng càng khó kiểm soát hơn. Việc kiểm tra mã thường xuyên và thiết lập các chỉ tiêu đánh giá năng lực của lập trình viên cho phép giảm thiểu nhược điểm này.

Vai trò và hoạt động của kiểm thử viên Agile

  • Q1:
    • Đưa ra những ý tưởng kiểm thử, lập kế hoạch và thiết kế tài liệu kiểm thử.
    • Chuẩn bị cho giai đoạn kiểm thử, thiết kế test case.
    • Thực hiện kiểm thử.
  • Q2:
    • Khách hàng cung cấp tài liệu đặc tả về dự án.
    • Thiết kế test case dựa trên tài liệu đặc tả dự án và yêu cầu của khách hàng.
    • Thực hiện kiểm thử.
  • Q3:
    • Thiết kế kiểm thử chấp nhận bởi khách hàng để xem hệ thống đã đáp ứng được yêu cầu hay chưa.
    • Kiểm thử khảo sát nhằm tiếp cận hệ thống một cách tốt nhất và độc lập.
    • Kiểm thử tính khả dụng của hệ thống.
  • Q4:
    • Tạo những kịch bản kiểm thử.
    • Thực hiện kiểm thử.
    • Đưa ra những phân tích kiểm thử.

Kết luận

Quy trình phát triển phần mềm Agile đưa ra một mô hình khá chung mang tính định hướng nên việc áp dụng Agile là khá linh động, tính tùy biến cao. Tuy nhiên phương pháp này không đưa ra được nhiều hướng dẫn cụ thể nên đòi hỏi người quản lý phải có kỹ năng tốt.

Vai trò của kiểm thử viên trong đội dự án là rất quan trọng, ngoài việc đóng góp ý kiến, bàn bạc, thảo luận và xử lý những vấn đề chung về dự án ra còn phải bao quát toàn bộ hệ thống, hiểu sâu và luôn sẵn sàng để xử lý những yêu cầu những thay đổi mới đối với dự án mà khách cung cấp. Nói một cách khác, kiểm thử viên là người chịu trách nhiệm cho việc bảo đảm chất lượng và hoàn thiện sản phẩm một

Related posts

Leave a Reply

Required fields are marked *

error: Content is protected !!