Sự khác biệt dưới góc nhìn của "Testers" và "Developers"

Trong bài viết này, chúng ta sẽ thấy những quan điểm khác nhau của các Testers và Developers và các mối quan hệ của họ để làm nên cho một ứng dụng hoàn hảo.

anh1.jpg

Mục đích của Testers và Developers là giống nhau, đều muốn cung cấp một sản phẩm chất lượng cho khách hàng. Nhưng cách suy nghĩ của họ lại khác nhau.

Không sai khi nói: "Testers và Developers không khác nhau mà họ chỉ theo mỗi con đường khác nhau để đạt được cùng một mục tiêu".

anh2.jpg

Developers nghĩ: "Làm thế nào để có thể làm các ứng dụng?

Testers nghĩ: "Làm thế nào để có thể phá vỡ các ứng dụng?

Testers và Developers hoạt động như Tom và Jerry. Nhưng kết quả cuối cùng là tích cực chỉ khi cả hai đều làm việc cùng nhau.

Bằng cách nói "Làm thế nào tôi có thể phá vỡ các ứng dụng" nó không có nghĩa là phương châm của một Testers là để làm hỏng công việc được thực hiện bởi các Developers. Nó có nghĩa là những người Testers suy nghĩ ngoài khuôn khổ và đặt mình vào vị trí của khách hàng , áp dụng tất cả các kịch bản có thể vào ứng dụng.

Đối với bất kỳ Developers ứng dụng phần mềm, chu trình phát triển phần mêm SDLC đóng một vai trò quan trọng. Trước đó, kiểm thử phần mềm đã được thực hiện ở giai đoạn cuối cùng của sự phát triển. Nhưng sửa chữa các sai sót / lỗi ở giai đoạn cuối cùng là rất khó khăn và tốn kém.

Vì vậy, để tránh phức tạp như vậy, bây giờ, kiểm thử phần mềm là một phần của tất cả các giai đoạn của SDLC. Điều này có nghĩa là bắt đầu Test từ giai đoạn đầu tiên của sự Developers.

anh3.jpg

"Testers" nhìn vào một ứng dụng từ một quan điểm sáng tạo khác nhau và nếu các yêu cầu của end-user được rõ ràng, nó tạo nên nhiều sự khác biệt. Góc nhìn của Testers và Developer tại các giai đoạn khác nhau của SDLC:

1) Thu thập yêu cầu và phân tích

Trong giai đoạn này theo yêu cầu của khách hàng và ứng dụng sẽ có một tài liệu yêu cầu được chuẩn bị.

Chúng ta hãy lấy một rất ví dụ phổ biến: Yêu cầu của end-user là "Không cho phéo các ký tự đặc biệt được nhập vào các fields".

Vai trò Developers: viết một đoạn code để chèn một field đầu vào sao cho khi người dùng nhập bất kỳ ký tự đặc biệt, và thông báo lỗi thích hợp được hiển thị.

Quan điểm Tester: Tester đầu tiên sẽ kiểm tra các yêu cầu, sau đó sẽ có nhiều kịch bản trong đầu. Sẽ có những câu hỏi như:

  • Điều gì xảy ra nếu chỉ có ký tự đặc biệt được nhập? Nó sẽ hiển thị cùng một tin nhắn hoặc một tin nhắn khác nhau cho người dùng?
  • Điều gì xảy ra nếu người dùng copy va paste kết hợp của các ký tự đặc biệt và các ký tự chữ và số vào field đó?

Để đánh giá bất kỳ sản phẩm hoặc ứng dụng, Testers phải đặt câu hỏi về một sản phẩm để cover hầu hết các kịch bản vì một người dùng cuối có thể là bất cứ ai và có thể sử dụng các ứng dụng trong bất kỳ cách nào mà họ muốn.

2) Thiết kế hệ thống / ứng dụng

Sau khi thu thập dữ liệu và sau khi hoàn tất các yêu cầu, các Developers bắt đầu thiết kế của họ trên các ứng dụng. Điều này bao gồm việc xem xét các tài liệu thiết kế trước khi thực hiện.

Testers từ sự hiểu biết của họ và tư duy sáng tạo phân tích tất cả các tình huống có thể cho tất cả các tính năng mới,, tích hợp, cập nhật giao diện.., bất cứ điều gì được đề cập trong yêu cầu.

Họ tạo ra các Test cases, checklist và dữ liệu test cho ứng dụng.

3) Giai đoạn thực hiện

Trong giai đoạn này, các Developers thực sự thực hiện việc thiết kế hệ thống hoàn chỉnh.

Dưới góc nhìn của Developers , họ đang tập trung vào việc xây dựng các chức năng theo yêu cầu và chức năng sẽ làm việc một cách hoàn hảo và hiệu quả.

Dưới góc nhìn của Testers , khi các Developers tập trung vào việc thực hiện các chức năng, Testers áp dụng tất cả các sáng tạo của mình để kiểm tra chức năng. Cũng có thể là một trường hợp khi các Developers hiểu sai yêu cầu. Và trong trường hợp đó khi Testers áp dụng kịch bản của họ và khả năng chức năng đó bị fail là rât cao.

4) Kiểm tra hệ thống

Các Developers tải lên các ứng dụng với một quan điểm cho rằng: các chức năng thực hiện được Developers đã hoàn hảo theo yêu cầu quy định; họ chỉ cho các Testers để xác minh lại.

Nhưng đối với Testers , tạo ra rất nhiều cách khác nhau mà một end-user có thể nghĩ để sử dụng một ứng dụng cụ thể. Đó là nhiệm vụ của các Testers để sử dụng tư duy sáng tạo và khám phá mỗi kịch bản tốt.

5) Giai đoạn bảo trì

Giai đoạn này là để kiểm tra các nỗ lực kết hợp của Testers và Developers. Các ứng dụng cuối cùng sau khi tất cả thực hiện được gửi đến người dùng sử dụng. Nếu nó hoạt động như mong muốn thì không có vấn đề. Nhưng nếu có bất kỳ sai, nó lại đòi hỏi sự nỗ lực kết hợp của cả hai Testers và Developers trong giai đoạn bảo trì.

Dưới đây là một số điểm quan trọng xác định vai trò của các Testers và Developers:

  • Trong khi các Developers phải đảm bảo rằng không có lỗi trong những gì họ phát triển, các Testers nên chắc chắn rằng nếu có lỗi,cần được báo cáo và được cố định vào đúng thời điểm.
  • Một Developer nên có những ý kiến phản hồi từ người thử một cách tích cực và mang tính xây dựng.
  • Điều bắt buộc để nói rằng các Developers là 'chuyên gia' trong một khu vực kỹ thuật riêng và họ có thể sử dụng tất cả các kỹ năng, kỹ thuật của họ để phát triển một dự án theo yêu cầu. Testers là của bên thứ ba mà báo cáo lỗi một cách hiệu quả trên cơ sở đó chất lượng của ứng dụng có thể được cải thiện đáng kể.

anh4.jpg

Làm việc như một Tester:

"Tester" là người không bị ảnh hưởng bởi các ứng dụng được Developers và tester giữ ý kiến của riêng mình dựa trên kinh nghiệm thực tế, thực hành, sử dụng các ứng dụng với tất cả các tình huống có thể.

Một Tester tốt là một người dùng phát hiện được nhiều lỗi trong khi sử dụng một sản phẩm mới. Người dùng tìm hiểu cách sử dụng một sản phẩm mới bằng cách thử và nhìn thấy những gì xảy ra chứ không phải là để đọc hướng dẫn.

Vì vậy, trọng tâm chính của Tester là "Cái gì có thể sai" .Trọng tâm chính của các Developers là để cung cấp dự án theo yêu cầu.

Một Tester tốt và một Developers tốt:

Một Tester tốt là một người thoải mái với cuộc xung đột. Nhiều lần nó trở nên rất khó xác định nguồn gốc của các lỗi, nó có thể là một lỗi mã hóa, lỗi tài liệu, lỗi thiết kế... Nhưng đó là công việc của các Tester để report tất cả các lỗi.

Một Developers tốt là một trong những người có thông tin phản hồi một cách tích cực và mang tính xây dựng, chẩn đoán các vấn đề, ​​và debugs nó. Nhưng các Developers thường tránh những xung đột và gây trở ngại.

Phần kết luận:

Testers và Developers cùng nhau làm cho một nhóm hiệu quả vì nó là trách nhiệm của cả hai để đảm bảo sản phẩm tốt nhất. Điều này đạt được nếu cả hai tay làm việc trong tay với sự hiểu biết đúng đắn và lấy ý kiến phản hồi tích cực của nhau.

DevOps DevOps Techmaster team Blog Home Một lập trình viên nên biết 6 công nghệ cần học trong 2013 Một lập trình viên nên biết 6 công nghệ cần học trong 2013 Techmaster team