Vai trò trong tương lai của người thử nghiệm là gì?


7

Nếu mô hình mới là "Bạn xây dựng nó, bạn điều hành nó" (Werner Voegels, Amazon CTO) rõ ràng đặt nhiều trách nhiệm hơn - và áp lực - lên các kỹ sư phần mềm, thì sự thay đổi này sẽ giới thiệu gì cho nhiệm vụ của nhóm thử nghiệm?

Câu trả lời:


9

IMHO phụ thuộc vào vai trò của người thử nghiệm trước khi chuyển đổi như vậy. BTW, tôi tin rằng câu trả lời của tôi áp dụng cho việc chuyển đổi DevOps nói chung, không chỉ cho You build it, you run itmô hình.

Nếu vai trò là một công việc không người lái - thực hiện các thử nghiệm không suy nghĩ - chắc chắn sẽ biến mất, tự động hóa sẽ ăn những công việc đó.

Nếu vai trò bao gồm viết các kế hoạch kiểm tra và thông số kỹ thuật, họ có thể tiếp tục thực hiện điều đó hoặc thậm chí biến thành các kịch bản tự động hóa tương ứng, song song với các nhà phát triển. Hoặc độc lập - trong một số môi trường, bắt buộc phải sử dụng một phương pháp / cơ sở hạ tầng / nhân sự hoàn toàn riêng biệt để thử nghiệm so với (các) được sử dụng để phát triển. Trong nhiều tổ chức, người kiểm thử là các kỹ sư phần mềm, giống như các nhà phát triển.

Nếu vai trò đang thực hiện các thử nghiệm không đáng tin cậy / bất ngờ, đặc biệt đòi hỏi các đặc điểm của con người (cảm xúc, chủ quan, cảm hứng, phản xạ, trực giác, v.v.) để bổ sung cho thử nghiệm tự động - điều đó cũng sẽ không thay đổi.


cảm ơn Dan - Tôi muốn đọc thêm về các bài kiểm tra bất ngờ, không biết có như vậy trong lĩnh vực kỹ thuật phần mềm
Peter Muryshkin

1
@ J.Doe Gần đây tôi đã nghe về khái niệm này, trước khi tôi loại bỏ thử nghiệm đó là không đáng tin cậy, do đó không thể sử dụng được. Tuy nhiên, tôi chỉ xem đó là thử nghiệm phát hiện hồi quy. Nhưng tôi đã suy nghĩ nhiều hơn và tôi tin rằng có những lĩnh vực mà việc thử nghiệm như vậy có thể thực sự hữu ích để phát triển - ví dụ như cho các trò chơi hoặc các ứng dụng UX nặng khác.
Dan Cornilescu

4

"Bạn xây dựng nó, bạn chạy nó"

Câu nói này nhằm mục đích đưa ra sự nhấn mạnh về sự phá vỡ giữa các đội silo, một nguyên tắc của các tín đồ là để tránh silo đạt được một nhiệm vụ.
Trong khi ý tưởng ở đây tập trung vào các giai đoạn xây dựng và chạy, ý tưởng quan trọng là kết hợp cả một nhóm, từ kiến ​​trúc đến vai trò khai thác . Một "Nhóm Devops" sẽ được tạo thành từ tất cả các vai trò tham gia vào vòng đời phần mềm, bao gồm cả vai trò người kiểm thử, không có ai trong nhóm xử lý một vai trò duy nhất.

Thay đổi chính đối với người thử nghiệm là học cách nói lên ý kiến ​​và phản hồi của mình về giai đoạn kế hoạch trong một nhóm nhanh nhẹn và có thể tham gia vào một số nhiệm vụ vận hành.

Nhưng trên tất cả, không có quy tắc chính xác, những gì trước đây ai đó trong một silo sẽ làm trong "Nhóm Devops" phụ thuộc vào những gì anh ấy / cô ấy quan tâm và thoải mái hơn để làm. Đó là một trong những thách thức của một nhóm mới được tạo ra, phát hiện ra những khả năng tốt nhất của mọi người để chia sẻ tải theo cách hiệu quả nhất.


Tôi có thể hỏi liệu bạn đã có một cấu trúc liên kết nhóm DevOps nhất định như được đề xuất ở đây [1] hoặc tất cả chúng chưa? web.devopstopology.com
Peter Muryshkin

1
Không phải tất cả trong số họ, nhưng chúng tôi có nhiều nhóm sản phẩm tiên tiến hơn, Một nhóm thuộc loại 1, chúng tôi không thực sự có loại 2 (ban đầu có quá nhiều sản phẩm cho một nhóm Ops quá ít), tôi nghĩ rằng chúng tôi có một nhóm trong Anti-type C cũng có. Cảm ơn về liên kết, đây là một bài đọc rất thú vị ..
Tensibai

không có gì; trước khi có sự lan truyền của nội dung này - bạn biết nó có thể xảy ra nhanh đến mức nào - có cơ hội để đặt ra một câu hỏi để xác thực các cấu trúc liên kết này thông qua cộng đồng này mà không cần phải hướng tới một điều gì đó bị che mờ (ví dụ: có thể có từ ngữ để điều chỉnh hoặc thêm một câu hỏi khác loại thiếu). Giống như "những gì còn thiếu trong các cấu trúc liên kết DevOps này?" ...
Peter Muryshkin

1
Tôi sợ rằng việc hỏi ý kiến ​​về một cái gì đó đã là một ý kiến ​​sẽ không mang lại bất cứ điều gì có giá trị.
Tensibai

2

Tôi là một kỹ sư cao cấp, trong khả năng đó, tôi làm thuê.

Tại thời điểm tiến triển của các tín đồ, tôi cảm thấy khó khăn khi thuê một Người kiểm tra không thể dễ dàng chuyển sang vai trò Kỹ sư cơ sở hạ tầng (những gì người khác có thể gọi là vai trò của Devops)

Ví dụ, tôi không mong đợi một người thử nghiệm biết được sự phức tạp của đa luồng JVM hoặc rất quan tâm trong thiết kế lớp python. Tôi hy vọng họ có thể hiểu được nguồn mà họ có thể viết mã còn sơ khai hoặc tạo dữ liệu tổng hợp.

Tôi mong đợi một người thử nghiệm hiện đại sẽ biết kho vũ khí cơ bản của các tín đồ trong đội của tôi. Điều đó sẽ bao gồm: việc cung cấp các máy chủ kim loại trần bằng các công cụ CM của chúng tôi, việc triển khai mã thông qua các tạo phẩm hoặc thùng chứa khác nhau.

Tôi sẽ yêu cầu họ phải có một số năng lực như một Kỹ sư dữ liệu theo nghĩa là biết cách dữ liệu di chuyển qua một hệ thống. Suy nghĩ về điểm duy nhất của thất bại là gì và làm thế nào để mô phỏng các thất bại, điều tiết, v.v.

Tôi sẽ không bao giờ thuê một người thử nghiệm để thực hiện kiểm tra mức mô-đun, mà tôi sẽ định nghĩa là sự tương tác của một số ít các lớp (giả sử 1-20) đằng sau một rào cản mạng.

tl; dr Tôi sẽ thuê người kiểm tra để thiết lập môi trường, mô phỏng (hoặc phát lại) dữ liệu qua môi trường đó và gây ra sự hỗn loạn trong môi trường.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.