Công cụ kiểm thử phần mềm

Một phần của tài liệu Kiểm thử phần mềm trên cơ sở các biểu đồ UML (Trang 31 - 38)

Trên thị trường hiện nay có nhiều công cụ kiểm thử phần mềm. Với các nhà cung cấp như: Rational Software của IBM, Mercury Interactives, Segue Software. Hiện có nhiều nhà cung cấp khác và cũng có một số công cụ kiểm thử nguồn mở như Ant, JUnit, và JProbe… Sau đây là một số công cụ kiểm thử phần mềm được sử dụng phổ biến hiện nay:

Visual Studio Team System Test Edition

Hình 1.19. Mô hình tổ chức Visual Studio Team System 2008 Team Foundation Server

24

Visual Studio Team System Test Edition bao gồm một bộ công cụ thử nghiệm đã được tích hợp chặt chẽ với Visual Studio. Nó không chỉ làm việc trong khuôn khổ của nền tảng kiểm thử, mà còn tham gia vào một nền tảng lớn hơn tham gia vào các khâu khác trong toàn bộ vòng đời của phần mềm.

Test Edition cho phép ta tạo, quản lý, chỉnh sửa và chạy công việc kiểm thử, đồng thời cũng nhận được và lưu trữ kết quả kiểm thử. Visual Studio tích hợp một vài loại thử nghiệm bao gồm: kiểm thử đơn vị (Unit Test), kiểm thử web (Web Test), kiểm thử chịu tải (Load Test), và các kiểm thử thủ công.

Người ta chạy thử nghiệm bằng cách sử dụng môi trường phát triển tích hợp của Visual Studio (IDE Visual Studio). Ngoài ra, ta có thể chạy các nhóm thử nghiệm hoặc kiểm tra bất kỳ đơn vị thử nghiệm độc lập nào khác bằng cách sử dụng dòng lệnh (command line).

Do các công cụ kiểm nghiệm được tích hợp với các thành phần khác của Visual Studio Team System, nên ta có thể lưu trữ kết quả vào cơ sở dữ liệu, tạo ra các hình thức báo cáo khác nhau, so sánh các loại dữ liệu, và xem có bao nhiêu lỗi, là những lỗi nào đã được tìm thấy bởi công cụ kiểm thử.

Đây quả là một công cụ mạnh mẽ mà Microsoft trang bị cho bộ sản phẩm Visual Studio của mình. Với lợi thế là tích hợp chặt chẽ vào môi trường phát triển phần mềm, công cụ sẽ giảm bớt được nhiều công sức trong quá trình thực hiện các thao tác kiểm thử, đồng thời việc quản lý nó cũng thống nhất trong suốt quá trình phát triển phần mềm. Tuy nhiên để sở hữu được bộ công cụ này thì chúng ta cũng phải bỏ ra một khoản chi phí khá lớn, vào khoảng 5.200 USD. Đồng thời chúng ta cũng phải trang bị nền tảng Visual Studio Team System 2008 Team Foundation Server (mức giá tham khảo:

2.500 USD) để có thể tích hợp bộ công cụ này.

QuickTest Professional

Hình 1.20. Giao diện QuickTest Professional

QuickTest Professional (QTP) với phiên bản mới nhất 9.5 của hãng Mercury khá tốt và mạnh, bao gồm nhiều chức năng điển hình của một công cụ kiểm tra tự động.

QTP là công cụ dùng để kiểm tra chức năng (functional test) và cho phép thực hiện kiểm tra hồi qui (regression test) một cách tự động. Đây cũng là công cụ áp dụng phương pháp Keyword-Driven, một kỹ thuật scripting (lập trình trong Kiểm Thử Tự Động) hiện đại, cho phép kiểm thử viên bổ sung Test Case bằng cách tạo file mô tả cho nó mà không cần phải chỉnh sửa hay bổ sung bất cứ script nào. Nó cũng phù hợp trong tình huống chuyển giao công việc mà người mới tiếp nhận chưa có thời gian hoặc không hiểu script vẫn có thể thực hiện.

QTP giúp chúng ta Kiểm Thử Phần Mềm theo hướng chức năng trên rất nhiều loại chương trình phần mềm khác nhau. Tuy nhiên Mercury chỉ hỗ trợ sẵn một số loại chương trình thông dụng như: Ứng dụng Windows; Ứng dụng web theo chuẩn HTML, XML; Ngôn ngữ lập trình C#, VB NET.

26

Một số loại chương trình khác yêu cầu cài đặt thêm thành phần bổ sung của QTP thì mới thực hiện kiểm tra được, như:.NET Framework 1.1, 2.0, 3.5;

Các đối tượng chuẩn của.NET và các đối tượng khác thừa kế từ các đối tượng chuẩn; Java; Sun JDK; và IBM JDK.

QTP sử dụng ngôn ngữ VBScript để viết Test Script.

Ưu điểm:

• Dễ sử dụng, bảo trì, tạo Test Script nhanh. Cung cấp dữ liệu kiểm tra rõ ràng và dễ hiểu.

• Kiểm tra phiên bản mới của ứng dụng với rất ít sự thay đổi. Ví dụ khi ứng dụng thay đổi nút tên “Login” thành “Đăng nhập”, thì chỉ cần cập nhật lại Object Repository để QTP nhận ra sự thay đổi đó mà không cần thay đổi bất cứ Test Script nào.

• Hỗ trợ làm việc theo nhóm thông qua sự chia sẻ thư viện, thống nhất quản lý Object Repository.

• Thực tế cho thấy, QTP thực hiện Kiểm Thử Tự Động trên nhiều trình duyệt cùng lúc tốt hơn những công cụ khác.

• Với chức năng Recovery Scenarios, QTP cho phép xử lý những sự kiện hoặc lỗi không thể đoán trước có thể làm Script bị dừng trong khi đang chạy.

• QTP có khả năng hiểu Test Script của Mercury Winrunner (một công cụ kiểm tra khác của Mercury).

Nhược điểm:

• Chưa hỗ trợ tốt trên nhiều nền tảng công nghệ khác nhau.

• Giá thành khá cao: cho một máy 9.000 USD; cho nhiều máy dùng cùng lúc 12.000 USD.

JMeter

Hình 1.21. Logo JMeter

JMeter của Apache Jakarta là công cụ được phát triển bởi ngôn ngữ Java cho phép kiểm tra máy chủ Web và thêm vào đó là khả năng kiểm tra các ứng dụng với các giao thức khách như JDBC, FTP, và LDAP. Thực tế, với công cụ mở rộng và cho phép người dùng tạo ra các tình huống giả định thì người dùng có khả năng kiểm tra bất kỳ giao thức nào thông qua Java. Với chế độ mặc định nó có thể đưa ra những file CSV để dễ dàng truyền các tham số vào cơ sở dữ liệu và đưa ra được rất nhiều thông tin hơn CSV. Đây là công cụ được rất nhiều người mới vào nghề sử dụng trong vô số các công cụ khác đang có trên mạng Internet.

JUnit, NUnit

JUnit là một framework đơn giản dùng cho việc tạo các Unit Testing tự động, và chạy các test có thể lặp đi lặp lại. Nó là một phần của họ kiến trúc xUnit cho việc tạo các unit testing. JUnit là một chuẩn trên thực tế cho unit testing trong Java. JUnit về nguồn gốc được viết bởi 2 tác giả Erich Gamma và Kent Beck. Tương tự, NUnit là phiên bản dùng cho các sản phẩm phát triển trên nền tảng.NET, nó có thể tích hợp với Microsoft Visual Studio.

Đây là một bộ công cụ giành cho Unit Test rất hiệu quả và hoàn toàn miễn phí. Tuy nhiên công cụ mới dừng ở việc kiểm thử thành phần, chưa mở rộng thêm các hình thức kiểm thử khác.

28

Một số công cụ kiểm thử phổ biến khác

Công cụ kiểm thử thành phần (component hoặc unit test):

• QACenter - Compuware

• PurifyPlus - IBM Rational

• Tau Architect và Tau Developer - Telelogic

• C++ Test, Java Test, Insure++, và.Test - Parasoft Công cụ kiểm thử chức năng (function test):

• WinRunner - Mercury Interactive

• QuickTest Professional - Mercury Interactive

• Astra QuickTest - Mercury Interactive

• QACenter - Compuware

• SilkTest - Segue Software

• Rational Suite TestStudio - IBM Rational

• TauTester - Telelogic

• e-Test suite - Empirix

• Webking - Parasoft

• WetFT - RadView Software

Công cụ kiểm thử chịu tải (performance/load-test):

• LoadRunner - Mercury Interactive

• Astra LoadTest - Mercury Interactive

• QACenter - Compuware

• WebLoad - RadView Software

• Rational Suite TestStudio - IBM Rational

• SilkPerformer - Segue

• e-Test suite - Empirix

• webking - Parasoft

• Test Perspective - Keynote Systems

• LoadPro - Keynote Systems

Công cụ theo dõi thực thi (performance-monitoring):

• Vantage - Compuware

• Topaz - Mercury Interactive

• OneSight - Empirix

• FarSight - Empirix

• Rational Suite TestStudio - IBM Rational Công cụ quản lý kiểm thử (test-management):

• QA Director - Compuware

• TestDirector - Mercury Interactive

• Rational Suite TestStudio - IBM Rational

• SilkPlan Pro - Segue

Với tư cách là một người làm việc trực tiếp trong lĩnh vực sản xuất phần mềm và là người nghiên cứu Luận văn này, tôi đã đánh giá cao những khả năng tuyệt vời của các công cụ kiểm thử hiện có, mặc dù tính tự động và hiệu quả của chúng chưa được như mong muốn. Những hạn chế trong các công cụ được thương mại hóa là thường không theo kịp với các thay đổi của công nghệ và khó thích ứng với quá trình thiết kế mới trong các ngành công nghiệp phần mềm. Trong luận văn này, tôi sẽ nghiên cứu đề xuất nâng cấp các cơ sở hạ tầng kiểm thử để tránh được những hạn chế này.

30

Chương 2

Một phần của tài liệu Kiểm thử phần mềm trên cơ sở các biểu đồ UML (Trang 31 - 38)

Tải bản đầy đủ (DOC)

(77 trang)
w