12/08/2018, 14:33

Làm sao để quyết định loại kiểm thử nào là cần thiết cho dự án? Manual hay Automation

Trong bối cảnh hiện nay sự cạnh tranh tăng lên mỗi ngày, việc thu hút và giữ chân khách hàng là rất quan trọng bởi vậy việc cung cấp sản phẩm chất lượng tới khách hàng rất quan trọng. Nếu bạn cung cấp sản phẩm đạt chất lượng đến khách hàng mà làm khách hàng hài lòng sẽ tác động tới doanh số và lợi ...

Trong bối cảnh hiện nay sự cạnh tranh tăng lên mỗi ngày, việc thu hút và giữ chân khách hàng là rất quan trọng bởi vậy việc cung cấp sản phẩm chất lượng tới khách hàng rất quan trọng. Nếu bạn cung cấp sản phẩm đạt chất lượng đến khách hàng mà làm khách hàng hài lòng sẽ tác động tới doanh số và lợi nhuận. Một vài bug lớn không thể được bỏ qua. Ví dụ 1 phần mềm quản lý bệnh viện nơi mà lưu trữ hồ sơ và thuốc tương ứng với từng bệnh nhân; nếu có 1 sự không phù hợp trong bản ghi nó có thể gây hại đến sức khỏe của bệnh nhân. Vì vậy trong trường hợp này việc test là rất quan trọng. Bây giờ câu hỏi tiếp theo là “hình thức test nào sẽ được thực hiện”.

Automation is a part, but Manual is Heart of testing.

Quyết định lựa chọn nó phụ thuộc vào nhận thức của bạn và các kịch bản của việc test. Các kịch bản test khác nhau là cơ sở để bạn đưa ra quyết định 1 cách dễ dàng:

1. Quy mô của dự án

Nếu quy mô của dự án lớn và phức tạp thì Automation Testing là lựa chọn tốt nhất nhưng nếu quy mô của dự án nhỏ nó có thể dễ dàng được test qua các quá trình manual. Ví dụ Có phần mềm ngân hàng lưu trữ các account khi có 1 số lượng lớn những người mà có account của họ với ngân hàng đó, vậy Automation Testing là cách tốt nhất để test nó.

2. Ngân sách dự án

Nếu ngân sách của dự án nhỏ thì Manual Testing sẽ được thực hiện bởi vì Automation Testing đắt hơn nhiều Manual Testing.

3. Tài nguyên con người

Nếu số lượng nguồn nhân lực có sẵn là đáp ứng đủ thì Manual Testing có thể thực hiện được dễ dàng nhưng nếu nguồn nhân lực ít thì Automation Testing là lựa chọn tốt nhất.

4. Số lần 1 kịch bản cần được kiểm tra

Nếu các kịch bản test cần được kiểm tra thường xuyên Automation Testing sẽ được sử dụng, nếu bạn cần test các kịch bản 1 lần trong toàn bộ thời gian Manual Testing sẽ được thực hiện.

5. Các thay đổi trong code

Nếu các thay đổi được thực hiện trong code thường xuyên thì Automation Testing cần được thực hiện. Đôi khi xảy ra việc mà các thay đổi trong 1 module có thể gây hại cho các module khác, bởi vậy việc test toàn bộ các module sau khi thực hiện các thay đổi tới 1 module là rất quan trọng và điều này có thể dễ dàng được kiểm tra qua quá trình automation.

6. Nên test song song hay tuần tự

Khi bạn cần chạy test ở cùng 1 thời điểm nhưng trên các máy khác nhau thì Automation Testing cần được thực hiện bởi vì trong trường hợp của Manual Testing bạn phải thực hiện test tuần tự.

7. Làm thế nào để thực hiện Random/Ad-hoc Testing

Khi bạn phải kiểm tra các hiển thị ngẫu nhiên thì Manual Testing được thực hiện.

More you play, More you will find.

Ý nghĩa của cụm từ trên là bạn sẽ tìm ra nhiều bug nếu bạn tương tác thật nhiều với các tính năng của software. Việc tương tác với các tính năng, quan trọng nhất là 1 tester cần phải sáng tạo.

8. Làm thế nào để test hình ảnh và font chữ

Không thể test hình ảnh và font chữ qua quá trình automation, những đặc tính năng này chỉ có thể được test qua quá trình manual.

9. Quỹ thời gian

Nếu khoảng thời gian là ngắn cho các phase test thì Automation Testing là lựa chọn tốt nhất.

10. Số lượng tester muốn nhìn thấy kết quả

Khi 1 người đang làm Automation Testing, phần còn lại của team không thể nhìn thấy kết quả đã được chạy nhưng với quá trình automation nhiều người có thể đăng nhập vào hệ thống và xem kết quả.

11. Thú vị

Việc test tự động giải quyết các vấn đề điền đi điền lại các form giống nhau bởi vì việc điền đi điền lại cùng 1 thông tin có thể gây bực bội.

12. Để tìm các vấn đề thực sự của người dùng

Các công cụ tự động chỉ hành động như 1 con robot trong đó bạn viết các script test bạn đã thực hiện nó theo mỗi yêu cầu và nó không cần bất cứ tác động nào của con người. Trong Manual Testing, 1 tester phải tìm các bug sử dụng của phần mềm đó. 1 tester sử dụng phần mềm giống người dùng và cố gắng phá vỡ mọi thứ bằng cách đưa ra các kịch bản bất ngờ.

13. Tái sử dụng Manual Testing

Trong trường hợp Manual Testing nếu bất cứ điều gì được bổ sung vào chương trình thì bạn phải viết các test case lại 1 vài lần phụ thuộc vào số lần những thứ được bổ sung vào chương trình. Điều này dẫn tới mất nhiều thời gian và nguồn lực nhưng với các automation test, nếu bạn bổ sung bất cứ thứ gì tới chương trình bạn phải chạy lại tất cả các bài test được yêu cầu ngay lập tức – các bài test đã được cài đặt sẵn.

14. Test dựa trên sự phán đoán

Manual Testing được thực hiện trên cơ sở sự phán đoán và kinh nghiệm của con người. Sử dụng quá trình này các area có thể chưa được yêu cầu test nhưng đã được test bởi vì qua Manual Testing bạn có thể test từng phần của phần mềm.

15. Bố cục và tính khả dụng của các vấn đề

Bố cục và tính khả dụng của các vấn đề chỉ được test bởi quá trình manual. Sự quan sát là cần thiết trong cả 2 trường hợp và tester phải test mọi thứ bằng cách coi mình như người dùng cuối bởi vì việc phần mềm của bạn cần thân thiện với người dùng là rất quan trọng.

16. Hiệu quả

Automation test hiệu quả hơn khi có 1 số lượng lớn người sử dụng hệ thống. Giả sử bạn phải test phần mềm duy trì các bản ghi của tất cả các sinh viên trong trường đại học, số hồ sơ và ký hiệu của họ. Vì vậy để kiểm tra phần mềm này Automation Testing là lựa chọn tốt nhất.

17. Explanatory Testing

Manual Testing là lựa chọn tốt nhất để thực hiện Explanatory Testing khi bạn phải thăm dò phần mềm để nhận diện các lỗi.

18. Loại phần mềm

Đối với 1 số loại phần mềm Manual Testing là lựa chon tốt nhất, giống như trong phần mềm Touch based Manual Testing được thực hiện bởi vì trong phần mềm touch based bạn phải test trực quan mà chỉ có thể test qua quá trình manual trong khi trong các trường hợp của phần mềm điền form, cái mà bạn phải nhập nhập lại cùng 1 dữ liệu Automation Testing là được ưu tiên.

19. Hình thức

Chọn đúng loại test cũng phụ thuộc vào hình thức. Trong trường hợp mà các yêu cầu thay đổi nhanh chóng, Manual Testing là được ưu tiên hơn Automation Testing.

20. Cài đặt và thiết lập test

Đối với cài đặt và thiết lập test manual tesing được sử dụng. Khi bạn phải test các kịch bản thủ công loading CD-ROM và các băng, thay đổi phần cứng, trong đó Manual Testing được thực hiện.

21. Test xử lý và phục hồi lỗi

Xử lý lỗi và phục hồi, các vấn đề này chỉ có thể được test qua quá trình manual. Đối với việc test các vấn đề này tester phải test các kịch bản giống như tắt nguồn server, crash ổ đĩa … Nó không thể được test bằng việc sử dụng các script test.

22. Load và Stress Testing

Automation Tesing giúp ích trong việc Load, Volume, Stress và Capacity Testing . Giả sử 1 hệ thống đã được tạo, trong đó có 100 user có thể làm việc ở cùng 1 thời điểm. Vì vậy để kiểm tra hệ thống liệu có xử lý được tải cho hơn 100 user, thì chúng ta nên sử dụng Automation Testing.

23. Test giao diện

Đối với việc test giao diện hiển thị Automation Testing được thực hiện. Có nhiều công cụ được sử dụng để ghi lại các hoạt động của user và phát lại nó vào bất cứ thời điểm nào. Điều này hữu ích cho việc so sánh các kết quả thực tế và mong đợi. Cả manual và Automation Testing đều có điểm quan trọng riêng mà mục đich là để kiểm tra chất lượng. vì vậy quan trọng nhất là phải sử dụng việc test đúng lúc đúng nơi, đúng thời gian và môi trường.

0