Vấn đề là một số cá nhân không hiểu rằng tự động hóa không "dễ dàng" cũng không phải là "nhanh".
Tôi không đồng ý với tiền đề của bạn ở đây.
Tôi là một người ủng hộ thử nghiệm tự động lớn, bất kể đó là thử nghiệm đơn vị, thử nghiệm tích hợp hay thử nghiệm UI. Có rất nhiều công cụ tuyệt vời có sẵn để thực hiện các bài kiểm tra tự động.
Hãy so sánh thử nghiệm tự động với thử nghiệm thủ công dựa trên ví dụ sau:
Trong một ứng dụng web, hãy kiểm tra chức năng "Thay đổi mật khẩu" của người dùng hiện có bằng trình duyệt.
Kiểm tra thủ công :
- Bắt đầu ứng dụng web
- Mở trình duyệt
- Chết tiệt, có một lỗi. Tại sao? Ồ, tôi quên khởi động cơ sở dữ liệu!
- Được rồi, tắt ứng dụng web
- Bắt đầu cơ sở dữ liệu
- Bắt đầu ứng dụng web
- Làm mới trình duyệt
- Hmm, mật khẩu của người dùng thử của chúng tôi lại là gì?
- Nhìn vào cơ sở dữ liệu
- Ồ, bảng người dùng trống! Tôi phải tạo một người dùng mới.
- Đăng ký người dùng mới trong ứng dụng web: Nhập tên người dùng, mật khẩu, địa chỉ email
- Tại sao tôi không thể đăng nhập với người dùng mới của mình? Ồ, tôi cần nhấp vào liên kết xác nhận trong email!
- Chà, tôi đã cung cấp cho người dùng một email như "test@example.com". Hãy đi đến cơ sở dữ liệu và đặt cột "hoạt động" thành "Có".
- Đăng nhập. Lần này nó hoạt động!
- Hmm, tôi muốn kiểm tra lại điều gì ...?
Dễ dàng? Không hẳn vậy. Có rất nhiều cạm bẫy có thể xảy ra trong quá trình này.
Nhanh? Không. Công việc thủ công cần có thời gian.
Bây giờ, hãy thử viết một bài kiểm tra tự động :
- Chúng ta cần tìm các công cụ cho ngôn ngữ lập trình của mình để tự động khởi động cơ sở dữ liệu và máy chủ web. Nghiên cứu và thực hiện cần có thời gian.
- Cơ sở dữ liệu cần phải ở trạng thái sạch khi thử nghiệm bắt đầu. Tạo các kịch bản cần có thời gian.
- Chúng ta cần viết bài kiểm tra. Vì chúng tôi cần một người dùng, chúng tôi cũng cần phải đăng ký một cái mới cho thử nghiệm của chúng tôi. Tốn thời gian.
- Cuối cùng, chúng tôi có thể viết những gì chúng tôi muốn kiểm tra: Thay đổi mật khẩu của người dùng. Với công cụ kiểm tra trình duyệt của chúng tôi, việc này được thực hiện khá nhanh so với các tác vụ trước.
Dễ dàng? Không! Chúng tôi cần nghiên cứu các công cụ, thực hiện chúng, sửa một số lỗi trong các thử nghiệm của chúng tôi.
Nhanh? Không! Nó thậm chí còn lâu hơn so với làm một bài kiểm tra thủ công.
Nhưng, có một sự khác biệt lớn ở đây: Đối với các bài kiểm tra trong tương lai, bạn chỉ cần tự viết bài kiểm tra , điểm đạn cuối cùng trong danh sách - được thực hiện nhanh tương đương. Tất cả các nghiên cứu và init-script không cần phải được thực hiện cho các thử nghiệm tiếp theo.
Và sau khi bạn đã viết bài kiểm tra, bạn có thể bắt đầu nó dễ dàng. Trong vài giây (hoặc có thể là vài phút, nếu việc khởi động cơ sở dữ liệu và ứng dụng web mất nhiều thời gian), bạn sẽ thấy liệu thói quen "Thay đổi mật khẩu" có hoạt động hay không. Nếu có lỗi, hãy sửa nó và chạy thử nghiệm lại - bạn sẽ thấy ngay lỗi đó có được sửa hay không. Nhanh chóng và dễ dàng .
Viết bài kiểm tra tự động không dễ và cũng không nhanh ngay từ đầu, nhưng thực hiện chúng là vậy.
Và đây là thời điểm mà thời gian đầu tư quay trở lại.