Ex ante: Dường như có rất nhiều nhầm lẫn về những gì được coi là thử nghiệm những gì không. Chắc chắn, mọi nhà phát triển cần kiểm tra mã của anh ta khi anh ta tạo nó, anh ta / cô ta cần xác minh nó hoạt động. Cô ấy / anh ấy không thể đưa nó cho người kiểm tra trước khi anh ấy / cô ấy nghĩ rằng nó đã hoàn thành và đủ tốt. Nhưng các nhà phát triển không nhìn thấy mọi thứ. Họ có thể không nhận ra lỗi. Những lỗi này chỉ có thể được tìm thấy sau này trong chu kỳ phát triển khi tiến hành kiểm tra kỹ lưỡng. Câu hỏi đặt ra là liệu các nhà phát triển có nên tiến hành loại thử nghiệm đó hay không, và theo ý kiến khiêm tốn của tôi, điều này cần được xem xét từ quan điểm của người quản lý dự án:
Các nhà phát triển có thể là người thử nghiệm, nhưng họ không nên là người thử nghiệm . Các nhà phát triển có xu hướng vô tình / vô ý tránh sử dụng ứng dụng theo cách có thể phá vỡ nó. Đó là bởi vì họ đã viết nó và chủ yếu kiểm tra nó theo cách nó nên được sử dụng.
Một người kiểm tra tốt mặt khác, cố gắng tra tấn ứng dụng. Mục đích chính của anh ấy / cô ấy là phá vỡ nó. Họ thường sử dụng ứng dụng theo cách mà các nhà phát triển sẽ không tưởng tượng được. Họ gần gũi với người dùng hơn nhà phát triển và thường có cách tiếp cận khác để kiểm tra quy trình làm việc.
Ngoài ra, sử dụng các nhà phát triển làm người thử nghiệm làm tăng chi phí phát triển và không có lợi cho chất lượng sản phẩm nhiều như có một người thử nghiệm chuyên dụng. Tôi sẽ không để các nhà phát triển kiểm tra chéo các tác phẩm của họ khi tôi có thể hoàn thành tốt hơn bởi một người thử nghiệm với giá rẻ. Chỉ khi vòng phản hồi giữa nhà phát triển và người thử nghiệm trở nên quá đắt, tôi mới có nhà phát triển kiểm tra mã của nhau, nhưng theo kinh nghiệm của tôi thì hiếm khi xảy ra và nó phụ thuộc nhiều vào quy trình.
Điều đó không có nghĩa là một nhà phát triển nên cẩu thả và để lại mọi thứ cho người kiểm tra. Phần mềm nên được sao lưu bằng các bài kiểm tra đơn vị và các lỗi kỹ thuật nên được giảm đến mức tối thiểu trước khi bàn giao phần mềm cho người kiểm tra. Tuy nhiên, đôi khi bạn đã khắc phục ở đây, khắc phục sự cố hoặc các lỗi khác mà không nhà phát triển nào có thể thấy trước, điều đó không sao cả. Ngoài ra, kiểm thử tích hợp nên được thực hiện chủ yếu bởi các nhà phát triển. Mục tiêu chính của người kiểm tra là xác minh rằng các yêu cầu được đáp ứng.
Trong một nhóm nhỏ như vậy (và cũng tùy thuộc vào kích thước của ứng dụng), tôi cũng có thể thấy người thử nghiệm trong vai trò kết hợp, viết bài kiểm tra đơn vị và kiểm tra giao diện người dùng. Bạn chắc chắn nên thuê một .
Nhưng quan trọng hơn người kiểm tra là đóng băng / chi nhánh thường xuyên. Đừng trình bày bất cứ điều gì chưa được kiểm tra đúng cách. Khi bạn đã thêm một tính năng hoặc thay đổi một cái gì đó, mọi thứ xung quanh nó phải được xác minh lại. Bạn sẽ chỉ nhận được một danh tiếng xấu nếu công ty của bạn không. Đừng phát hành một cái gì đó không ổn định. Khi khách hàng muốn có phần mềm vào một ngày nhất định, sau đó dừng phát triển đủ sớm và kiểm tra phần mềm đúng cách, do đó bạn có đủ thời gian để sửa lỗi. Thông thường, tốt hơn là từ chối các yêu cầu tính năng vào phút cuối hơn là triển khai chúng kém hoặc phát hành mà không có thử nghiệm thích hợp.