Tuy nhiên, đối với một số input đặc biệt, không thể sinh ca kiểm thử bằng thuật toán mà chỉ có thể dựa vào kinh nghiệm của những kiểm thử viên đã từng thiết kế ca kiểm thử cho input đó. Như đã biết, kiểm thử phần mềm là một nghệ thuật, đôi khi không chỉ sử dụng thuật toán để xác định ca kiểm thử mà còn phải dựa vào kinh nghiệm của người thực hiện. Ví dụ với input yêu cầu dữ liệu đầu vào có định dạng là ngày tháng Việt Nam, bảng 3.2 minh họa một số trường hợp có thể có của định dạng dữ liệu đầu vào dựa theo kinh nghiệm của tác giả khi thực hiện kiểm thử bằng cách thủ công là nhập từng giá trị bằng tay, do kinh nghiệm của tác giả còn hạn chế nên không khẳng định các trường hợp là hoàn toàn đầy đủ. Trong thực tế làm việc của tác giả, nếu thử cả tám trường hợp và nhận được kết quả hợp lệ như trong bảng 3.2 thì input hoạt động tốt và chưa có ghi nhận phản ánh lỗi từ người dùng khi họ nhập sai định dạng dữ liệu mà chương trình không đưa ra thông báo sai phạm.
Bảng 3.2. Một số dữ liệu đầu vào mẫu cho input ngày tháng Việt Nam STT Định dạng STT Định dạng (#: ký tự số) Ví dụ Hợp lệ 1 ##/##/#### 11/11/1988 Có 2 ##/##/#### 31/11/1988 Không 3 ##/##/#### 11/13/1988 Không 4 ##/##/#### 29/02/2012 Có 5 ##/##/#### 29/02/2013 Không 6 ##/## 11/11 Không 7 ##/#### 11/1988 Không 8 {ký tự khác số}#/##/#### a1/11/1988 Không 7 9 11 5 13 6 12
Nếu sử dụng thuật toán tự động sinh ra các dữ liệu mẫu cho input ngày tháng Việt Nam thì số lượng ca kiểm thử sẽ rất nhiều gây lãng phí và tốn thời gian thực hiện. Xem xét một ví dụ sau, với định dạng ##/##/####, nếu nhập “a1/11/1988” chương trình sẽ báo lỗi và có thể khẳng định chương trình không cho phép nhập ký tự đặc biệt khác số vào ngày tháng, việc kiểm tra các trường hợp khác như “11/1a/1988” hay “1a/11/1988” là không cần thiết. Do việc tự động sinh các ca kiểm thử trong công cụ không chỉ dựa vào thuật toán mà còn phải dựa vào việc thu thập kinh nghiệm của các kiểm thử viên để có được những ca kiểm thử tốt nhất.
Lƣu lại và quan sát kết quả sau khi thực hiện các ca kiểm thử
Sau khi các ca kiểm thử được thực hiện tự động thì việc lưu lại các kết quả là rất quan trọng, công cụ kiểm thử tự động có thể lưu các kết quả này dưới dạng một file text hoặc excel. Kết quả cần được trình bày một cách hợp lý sao cho kiểm thử viên dễ quan sát và đánh giá. Trong công cụ kiểm thử tự động của luận văn này, kết quả sẽ được lưu vào một file text để đảm bảo kiểm thử viên có thể mở file mà không cần cài đặt công cụ đọc file excel. Kết quả sẽ bao gồm các thông tin như tên các input được kiểm thử, dữ liệu mẫu và thông báo của ứng dụng sau khi tiếp nhận dữ liệu từ các input.
3.3. Thỏa thuận khi sử dụng công cụ
Công cụ kiểm thử tự động trong luận văn được lập trình bằng ngôn ngữ lập trình C# và có sử dụng các API của Selenium WebDriver để điều khiển và tương tác với các thành phần trên trình duyệt Web. Để sử dụng công cụ đòi hỏi máy tính cần có hệ điều hành Windows XP SP3, Windows 7, Windows 8, cài đặt .Net Framework 4.0 trở lên và cài đặt trình duyệt Mozilla Firefox. Ngoài ra để sử dụng công cụ thì ứng dụng phải đồng ý với những thỏa thuận sau:
1. Các input trên form phải có thuộc tính id và là duy nhất.
2. Phải có thành phần HTML chứa thông báo phản hồi từ ứng dụng dạng dòng chữ thông báo để công cụ nhận và ghi lại.
3.4. Xây dựng công cụ