Ngành công nghiệp phần mềm đã làm đƣợc rất nhiều việc lớn trong kiểm thử phần mềm. Nhiều cuốn sách đã trình bày cách để xây dựng các kế hoạch kiểm thử và các chính sách kiểm thử và cách quản lý kiểm thử tự động một phần mềm với các công cụ hiện có trên thị trƣờng. Các kỹ sƣ phần mềm đã tích lũy đƣợc rất nhiều hiểu biết, và các tổ chức phần mềm đã giúp đỡ những nhóm kiểm thử của họ trong việc theo dõi những tài liệu này.
Những ngôn ngữ lập trình bậc cao nhƣ Java, C#, và VB.NET là những ngôn ngữ hƣớng đối tƣợng nhằm hỗ trợ các lập trình viên có thể xây dựng một loạt ứng dụng một cách nhanh chóng. Mục tiêu của những ngôn ngữ này là rút ngắn vòng đời phát triển của phần mềm bằng cách cung cấp Common Language Runtime (CRL), Java Virtual Machine (JVM), hỗ trợ cross-language và cross-platform, và quản lý bộ nhớ tự
động. Lập trình viên vẫn có thể theo dõi, kiểm soát những vấn đề cấp thấp, nhƣ tính toàn vẹn kiểu (type safety), các thƣ viện cấp thấp có sẵn, kiểm soát mảng, vv… Thực tế các lập trình viên thực sự sử dụng thời gian và công sức vào những ứng dụng của họ và vào lô gíc nghiệp vụ (business logic). Những phƣơng thức kiểm thử truyền thống không thể đáp ứng kịp với tiến triển của kỹ thuật. Để đáp ứng đƣợc yêu cầu về khung thời gian, cần tìm ra con đƣờng nhanh và tốt hơn để kiểm thử các sản phẩm phẩn mềm. Kiểm thử tự động gây đƣợc sự chú ý lớn do sự tiến triển của kỹ thuật làm tăng tính phức tạp của những sản phẩm phần mềm.
Công cụ kiểm thử phần mềm tự động trong Luận văn này có các tính năng: Nghiên cứu assembly dƣới hình thức kiểm thử động.
Điều khiển và thực hiện lặp các tác vụ đơn giản một cách động.
Tạo lập những kịch bản kiểm thử và thực thi các kịch bản kiểm thử này bằng từng gói theo lịch trình (schedule manner.)
Kiểm thử Interface của các đối tƣợng và những thành phần phần mềm khác (software component) với một tập dữ liệu định sẵn.
Truy cập một CSDL để xác thực kết quả kiểm thử.
Truy cập Window Registry để xác thực kết quả kiểm thử.
Dữ liệu kiểm thử và kết quả kiểm thử sẽ đƣợc thể hiện dƣới dạng XML và MS Excel worksheet. Tiến trình kiểm thử tự động có thể đƣợc trình bày với 6 bƣớc nhƣ Hình 1.4.
Chọn assembly
Thu thập thông tin
Sinh kịch bản kiểm thử
Soạn dữ liệu kiểm thử Thực thi kịch bản kiểm thử
Hình 1.4: 6 bước của kiểm thử phần mềm tự động [9]
Các công cụ kiểm thử tự động có trên thị trƣờng không đủ khả năng kiểm thử một sản phẩm một cách kỹ lƣỡng. Khi nảy sinh một tính năng kiểm thử mới thì nhà cung cấp thƣờng hứa hẹn sẽ tích hợp tính năng này vào công cụ trong phiên bản tiếp theo. Để đáp ứng đƣợc sự đa dạng của phần mềm, công cụ kiểm thử đƣợc phát triển trong luận văn này có đủ "các tế bào não" để đáp ứng đƣợc một yêu cầu mới.
Các kỹ sƣ kiểm thử đã quá quen và có kinh nghiệm trong việc sử dụng các chức năng chụp màn hình và ghi lại kịch bản kiểm thử khi sử dụng các công cụ trên thị trƣờng, nó sẽ dẫn hƣớng cho unit test, advance stress test, và capability test. Công cụ kiểm thử tự động không yêu cầu thay đổi kỹ thuật lập trình hoặc bất kỳ một hành động ghi thủ công nào khác. …
Vì vậy bằng cách sử dụng các công cụ kiểm thử hoàn toàn tự động, các kiểm thử viên sẽ đƣợc giải phóng khỏi việc reverse-engineering, viết những kịch bản buồn tẻ, và tạo ra các dữ liệu lƣu trữ. Họ có thể dành nhiều thời gian hơn để kiểm thử các khu vực có nguy cơ lỗi cao hơn của phần mềm. Hơn nữa, lập trình trong môi trƣờng nhƣ MS. NET cung cấp cho các kiểm thử viên khả năng phát triển một công cụ cao cấp trong khung thời gian và ngân sách cho phép. Đặc điểm này này đúng cho nhiều môi trƣờng và ngôn ngữ lập trình, chẳng hạn nhƣ Eclipsing. NET, DotGNU Portable. NET, Java, Visual Basic 6.0, C / C + +, C # và Visual Basic. NET.