Kiểm thử phần mềm (software testing) là hoạt động nhằm tìm kiếm và phát hiện ra các lỗi của phần mềm, đảm bảo phần mềm chính xác, đúng và trọn vẹn theo yêu cầu của khách hàng, yêu cầu của sản phẩm đã đặt ra. Software testing cũng gửi tới mục tiêu, cái nhìn độc lập về phần mềm điều này cho phép đánh giá và hiểu rõ các rủi ro khi thực thi phần mềm. Căn cứ là gì? Hãy cùng LVN Group nghiên cứu thông qua nội dung trình bày dưới đây
1. Kiểm thử là gì?
Đây là một trong những loại kiểm thử phần mềm cần thiết để xác nhận xem hệ thống có hoạt động đúng yêu cầu được không. Ở tất cả các mức độ kiểm thử đều được kiểm thử chức năng.
Testing of function là một trong những loại kiểm thử phần mềm cần thiết
Testing of function có thể thực hiện theo 2 quan điểm: business – process – based và requirements-based. Với business – process – based, kiểm thử viên sẽ sử dụng các kiến thức về quy trình nghiệp vụ (mô tả các kịch bản liên quan đến nghiệp vụ của hệ thống mỗi ngày).
Trong khi đó, requirements-based sử dụng các đặc tả yêu cầu của hệ thống làm cơ sở để design test. Để đảm bảo những thành phần cần thiết nhất đều được kiểm thử, hãy xem xét độ ưu tiên của yêu cầu dựa trên tiêu chí rủi ro, theo đó, chúng ta sẽ sử dụng độ ưu tiên để kiểm thử.
Các bước kiểm thử chức năng gồm:
Bước 1: Xác định phần mềm sẽ kiểm thử và chức năng của nó
Bước 2: Dựa trên tài liệu đặc tả chức năng để tạo dữ liệu đầu vào
Bước 3: Dựa vào tài liệu đặc tả chức năng để xác định đầu ra
Bước 4: Thực hiện các trường hợp kiểm thử phần mềm
Bước 5: So sánh kết quả thực tiễn với mong muốn đạt được
2. Những điều cần biết về kiểm thử phần mềm với Junit
Junit là một framwork kiểm thử đơn vị cho ngôn ngữ lập trình Java. JUnit đã rất cần thiết trong việc phát triển phần mềm theo hướng thử nghiệm. Junit là một thể hiện của kiến trúc xUnit cho các khung kiểm thử đơn vị. JUnit thiết lập ý tưởng “thử nghiệm đầu tiên sau codeing”, nhấn mạnh vào việc thiết lập dữ liệu thử nghiệm cho một đoạn code có thể được kiểm tra trước và sau đó được triển khai. Cách tiếp cận này giống như “kiểm tra một chút, viết mã một chút, kiểm tra một chút, viết mã một chút.”. Junit làm tăng năng suất của lập trình viên và sự ổn định của mã chương trình, do đó làm giảm sự căng thẳng trên lập trình viên và thời gian dành cho việc gỡ lỗi. ****Các tính năng của Junit
JUnit là một framework mã nguồn mở, được sử dụng để viết và chạy thử nghiệm.
Cung cấp chú thích để xác định phương pháp thử nghiệm.
Cung cấp xác nhận để kiểm tra kết quả mong đợi
Cung cấp các trình chạy thử nghiệm để chạy thử nghiệm
Các bài kiểm tra JUnit cho phép bạn viết mã nhanh hơn, làm tăng chất lượng phần mềm
JUnit rất đơn giản và tốn ít thời gian hơn
Các bài kiểm tra JUnit có thể được chạy tự động và họ kiểm tra kết quả của riêng họ và gửi tới phản hồi ngay lập tức. Không cần phải tự tay thông qua một báo cáo kết quả kiểm tra.’
Các bài kiểm tra JUnit có thể được tổ chức thành các test suites chứa các test case và thậm chí các test suites khác.
JUnit cho thấy tiến trình thử nghiệm trong một thanh có màu xanh lá cây nếu thử nghiệm chạy thành công và nó chuyển sang màu đỏ khi thử nghiệm không thành công. Trường hợp kiểm thử đơn vị là gì?
Một trường hợp kiểm thử đơn vị là 1 phần của mã nguồn để đảm bảo rằng một phần của mã nguồn hay còn gọi là phương thức hoạt động như mong đợi. Để đạt được kết quả mong muốn một cách nhanh chóng, cần có framewoke kiểm tra bắt buộc. JUnit là một framewoke kiểm thử đơn vị hoàn hảo cho ngôn ngữ lập trình Java.
Một trường hợp thử nghiệm đơn vị viết chính thức được đặc trưng bởi một đầu vào được biết đến và một đầu ra dự kiến, được thực hiện trước khi thử nghiệm được thực hiện. Đầu vào đã biết nên kiểm tra điều kiện tiên quyết(precondition) và đầu ra dự kiến sẽ kiểm tra điều kiện sau ( post-condition.).
Phải có ít nhất hai trường hợp thử nghiệm đơn vị cho mỗi yêu cầu – một thử nghiệm valid data và một thử nghiệm invalid data. Nếu yêu cầu có yêu cầu phụ, mỗi yêu cầu phụ phải có ít nhất hai trường hợp thử nghiệm là valid data và invalid data.
3. Đặc điểm của Framework kiểm thử Junit
JUnit là một khung kiểm thử hồi quy được sử dụng bởi các nhà phát triển để thực hiện kiểm thử đơn vị trong Java và đẩy nhanh tốc độ lập trình và tăng chất lượng code. JUnit Framework có thể được tích hợp dễ dàng với các bộ công cụ sau: Eclipse, Ant, Maven…
4. Junit gửi tới các tính năng cần thiết sau:
Fixtures Là trạng thái cố định của một tập hợp các đối tượng được sử dụng làm đường cơ sở để chạy thử nghiệm. Mục đích của test fixture là để đảm bảo rằng có một môi trường phổ biến và cố định trong đó các bài kiểm tra được chạy để kết quả có thể lặp lại. Fixtures bao gồm 2 phương thức chính: + setup(): chạy trước mỗi lời gọi thử nghiệm + tearDown(): chạy sau mỗi phương pháp thử nghiệm Test suites Một bộ test bao gồm một vài trường hợp thử nghiệm đơn vị và chạy chúng cùng nhau. Trong JUnit, cả chú thích @RunWith và @Suite đều được sử dụng để chạy bộ thử nghiệm. Test runners Test runner được sử dụng để thực hiện các trường hợp thử nghiệm. JUnit classes Các lớp JUnit là các lớp cần thiết, được sử dụng trong viết và kiểm tra các JUnits. Một số lớp cần thiết là: Assert: Chứa một tập hợp các phương thức thẩm định. TestCase – Chứa một trường hợp kiểm tra xác định fuxture để chạy nhiều bài kiểm tra TestResult – Chứa các phương pháp để thu thập kết quả thực hiện một trường hợp thử nghiệm