Vấn đề cơ bản của thử nghiệm

Giới thiệu

Xin chào cư dân Khabrovsk. Vừa rồi tôi đang giải quyết một nhiệm vụ thử nghiệm cho vị trí Trưởng nhóm QA cho một công ty fintech. Nhiệm vụ đầu tiên, tạo một kế hoạch thử nghiệm với danh sách kiểm tra đầy đủ và các ví dụ về các trường hợp thử nghiệm để thử nghiệm ấm đun nước điện, có thể được giải quyết một cách đơn giản:

Nhưng phần thứ hai hóa ra lại là một câu hỏi: “Có vấn đề nào chung với tất cả những người thử nghiệm khiến họ không thể làm việc hiệu quả hơn không?”

Điều đầu tiên tôi nghĩ đến là liệt kê tất cả những vấn đề ít nhiều đáng chú ý mà tôi gặp phải trong quá trình thử nghiệm, loại bỏ những điều nhỏ nhặt và tóm tắt những vấn đề còn lại. Nhưng tôi nhanh chóng nhận ra rằng phương pháp quy nạp sẽ trả lời một câu hỏi không áp dụng cho “tất cả”, mà tốt nhất là chỉ áp dụng cho “đa số” người thử nghiệm. Vì vậy, tôi quyết định tiếp cận nó từ phía bên kia, một cách suy diễn, và đây là điều đã xảy ra.

Định nghĩa

Điều đầu tiên tôi thường làm khi giải một vấn đề mới là cố gắng hiểu nội dung của nó và để làm được điều này, tôi cần hiểu ý nghĩa của các từ đặt ra vấn đề đó. Các từ khóa cần hiểu như sau:

  • vấn đề
  • kiểm thử
  • công việc thử nghiệm
  • hiệu quả thử nghiệm

Hãy chuyển sang Wikipedia và lẽ thường:
Vấn đề (tiếng Hy Lạp cổ πρόβλημα) theo nghĩa rộng - một vấn đề lý thuyết hoặc thực tiễn phức tạp cần nghiên cứu và giải quyết; trong khoa học - một tình huống mâu thuẫn xuất hiện dưới dạng các lập trường đối lập trong việc giải thích bất kỳ hiện tượng, đối tượng, quá trình nào và đòi hỏi một lý thuyết đầy đủ để giải quyết nó; trong cuộc sống, vấn đề được đặt ra dưới dạng mà mọi người có thể hiểu được: “Tôi biết cái gì, tôi không biết làm thế nào”, tức là người ta biết cần phải đạt được cái gì nhưng không biết phải làm như thế nào. . Đến từ muộn. lat. vấn đề, từ tiếng Hy Lạp. πρόβλημα “ném về phía trước, đặt ở phía trước”; từ προβάλλω “ném về phía trước, đặt trước mặt bạn; đổ tội".

Trên thực tế, nó không có nhiều ý nghĩa, “vấn đề” = “bất cứ điều gì cần được giải quyết”.
Kiểm thử - một chuyên gia (chúng tôi sẽ không chia thành các loại, vì chúng tôi quan tâm đến tất cả những người thử nghiệm), người tham gia thử nghiệm một thành phần hoặc hệ thống, kết quả của việc đó là:
Công việc của người kiểm tra - một tập hợp các hoạt động liên quan đến thử nghiệm.
Hiệu quả (lat. effectivus) - mối quan hệ giữa kết quả đạt được và nguồn lực được sử dụng (ISO 9000: 2015).
Kết quả - hệ quả của một chuỗi (chuỗi) hành động (kết quả) hoặc sự kiện, được thể hiện về mặt định tính hoặc định lượng. Các kết quả có thể xảy ra bao gồm lợi thế, bất lợi, được, mất, giá trị và chiến thắng.
Đối với “vấn đề”, có rất ít ý nghĩa: một điều gì đó nảy sinh do công việc.
tài nguyên - khả năng đo lường được về mặt định lượng trong việc thực hiện bất kỳ hoạt động nào của một người hoặc nhiều người; điều kiện cho phép sử dụng các phép biến đổi nhất định để thu được kết quả mong muốn. Người thử nghiệm là một con người và theo lý thuyết về nguồn lực sống còn, mỗi người là chủ sở hữu của bốn tài sản kinh tế:
tiền mặt (thu nhập) là nguồn tài nguyên có thể tái tạo;
năng lượng (sinh lực) là nguồn tài nguyên có thể tái tạo một phần;
thời gian là nguồn tài nguyên cố định và về cơ bản không thể tái tạo;
kiến thức (thông tin) là nguồn tài nguyên có thể tái tạo, nó là một phần vốn con người có thể phát triển và bị phá hủy[1].

Tôi muốn lưu ý rằng định nghĩa về hiệu quả trong trường hợp của chúng tôi không hoàn toàn chính xác, vì chúng ta càng sử dụng nhiều kiến ​​​​thức thì hiệu quả càng thấp. Vì vậy, tôi sẽ định nghĩa lại hiệu quả là “tỷ lệ giữa kết quả đạt được và nguồn lực sử dụng”. Khi đó mọi thứ đều chính xác: kiến ​​thức không bị lãng phí trong quá trình làm việc mà nó giúp giảm chi phí cho nguồn tài nguyên cơ bản không thể tái tạo duy nhất của người thử nghiệm - thời gian của anh ta.

phán quyết

Vì vậy, chúng tôi đang tìm kiếm những vấn đề toàn cầu của những người thử nghiệm làm giảm hiệu quả công việc của họ.
Nguồn lực quan trọng nhất được sử dụng cho công việc của người thử nghiệm là thời gian của anh ta (phần còn lại có thể được giảm xuống bằng cách này hay cách khác) và để chúng ta nói về cách tính toán hiệu quả chính xác, kết quả cũng phải được giảm xuống theo thời gian. .
Để làm điều này, hãy xem xét một hệ thống mà người kiểm tra đảm bảo khả năng tồn tại thông qua công việc của mình. Một hệ thống như vậy là một dự án có nhóm bao gồm một người thử nghiệm. Vòng đời dự án có thể được biểu diễn đại khái bằng thuật toán sau:

  1. Làm việc với các yêu cầu
  2. Hình thành các thông số kỹ thuật
  3. Phát triển
  4. Kiểm tra
  5. Đưa vào sản xuất
  6. Hỗ trợ (xem mục 1)

Trong trường hợp này, toàn bộ dự án có thể được chia đệ quy thành các dự án con (tính năng), có cùng vòng đời.
Từ quan điểm của dự án, thời gian dành cho dự án càng ít thì việc thực hiện nó càng hiệu quả.
Do đó, chúng ta đi đến định nghĩa về hiệu quả tối đa có thể có của người thử nghiệm theo quan điểm của dự án - đây là trạng thái của dự án khi thời gian thử nghiệm bằng 0. Một vấn đề chung đối với tất cả những người thử nghiệm là không thể đạt được thời gian này.

Làm thế nào để đối phó với nó?

Kết luận khá rõ ràng và đã được nhiều người sử dụng từ lâu:

  1. Việc phát triển và thử nghiệm phải bắt đầu và kết thúc gần như đồng thời (việc này thường được thực hiện bởi bộ phận QA). Tùy chọn lý tưởng là khi tất cả chức năng đang được phát triển đã được kiểm tra tự động vào thời điểm nó sẵn sàng, được tổ chức thành thử nghiệm hồi quy (và, nếu có thể, cam kết trước) bằng cách sử dụng một số loại CI.
  2. Dự án càng có nhiều tính năng (càng phức tạp) thì càng phải dành nhiều thời gian để kiểm tra xem chức năng mới có phá vỡ chức năng cũ hay không. Do đó, dự án càng phức tạp thì càng cần tự động hóa nhiều hơn kiểm tra hồi quy.
  3. Mỗi khi chúng tôi bỏ sót một lỗi trong quá trình sản xuất và người dùng tìm thấy nó, chúng tôi phải dành thêm thời gian để xem xét vòng đời dự án bắt đầu từ điểm 1 (Làm việc với các yêu cầu, trong trường hợp này là người dùng). Vì lý do thiếu một lỗi thường không được xác định nên chúng tôi chỉ còn lại một đường dẫn tối ưu hóa - mọi lỗi do người dùng tìm thấy phải được đưa vào kiểm tra hồi quy để đảm bảo rằng nó sẽ không xuất hiện lại.

Nguồn: www.habr.com

Thêm một lời nhận xét