Thử nghiệm tiêu cực là gì? Các trường hợp thử nghiệm với ví dụ
Kiểm tra tiêu cực
Kiểm tra tiêu cực là một loại kiểm thử phần mềm được sử dụng để kiểm tra ứng dụng phần mềm về dữ liệu và điều kiện đầu vào không mong muốn. Dữ liệu hoặc điều kiện không mong muốn có thể là bất kỳ thứ gì từ loại dữ liệu sai cho đến cuộc tấn công hack mạnh mẽ. Mục đích của kiểm tra tiêu cực là ngăn chặn ứng dụng phần mềm bị lỗi do đầu vào tiêu cực và cải thiện chất lượng cũng như độ ổn định.
Chỉ bằng cách thực hiện thử nghiệm tích cực, chúng tôi chỉ có thể đảm bảo rằng hệ thống của chúng tôi đang hoạt động trong điều kiện bình thường. Chúng tôi phải đảm bảo rằng hệ thống của chúng tôi có thể xử lý các tình huống không mong muốn để đảm bảo hệ thống không có lỗi 100%.
Ví dụ về thử nghiệm tiêu cực
Hãy xem xét trường hợp thang máy, một ví dụ thường được coi là thử nghiệm tiêu cực.
Chúng ta đều biết chức năng của thang máy. Đây sẽ được coi là những yêu cầu của thang máy giống như việc nhấn số tầng để thang máy đi đến tầng cụ thể đó.
Cửa tự động mở khi thang máy đến tầng được chỉ định, v.v.
Bây giờ hãy xem xét một số kịch bản tiêu cực đối với thang máy. Một số trong số đó là,
Kiểm tra tiêu cực | Thử nghiệm tích cực |
---|---|
Điều gì xảy ra nếu số lượng người (trọng lượng) vượt quá giới hạn quy định? | Giả sử số lượng người được chỉ định duy nhất sẽ vào thang máy |
Điều gì xảy ra nếu ai đó hút thuốc hoặc gây hỏa hoạn trong thang máy? | Sẽ không có khói và lửa bên trong thang máy |
Điều gì xảy ra nếu mất điện trong quá trình hoạt động? | Sẽ không xảy ra tình trạng mất điện trong quá trình thang máy hoạt động |
Tất cả những trường hợp này sẽ được xét nghiệm âm tính. Tầm quan trọng của việc này là chúng ta không thể đảm bảo rằng tất cả những điều được đề cập ở trên sẽ không xảy ra, vì vậy chúng ta cần ngăn chặn chúng.
Xét trường hợp tình trạng thừa cân được kiểm tra và khi thực hiện, thang máy hoạt động bất thường khi có tình trạng thừa cân. Điều này sẽ gây ảnh hưởng tiềm tàng đến độ tin cậy của hệ thống và thậm chí có thể gây nguy hiểm đến tính mạng. Điều này giải thích thử nghiệm tiêu cực là gì và tầm quan trọng của nó.
Trường hợp tương tự cũng được áp dụng trong phần mềm. Đối với thử nghiệm tiêu cực, chúng tôi đã đi chệch khỏi quy trình hoạt động bình thường. Chúng ta hãy đi qua một số ví dụ.
Hãy xem xét một mẫu đăng ký ví dụ.
Kiểm tra tiêu cực | Thử nghiệm tích cực |
---|---|
Hãy thử nhập một ID email không hợp lệ vào trường email | Chỉ những ID email hợp lệ mới được nhập vào trường email |
Cố gắng nhập số điện thoại không hợp lệ vào trường số điện thoại (ký tự) | Số duy nhất sẽ được nhập vào trường số |
Tải lên hình ảnh có kích thước ngoài ranh giới quy định | Chỉ những hình ảnh có kích thước dưới ranh giới được chỉ định mới được tải lên |
Tải lên các tệp không hợp lệ như XML, SQL, v.v. trong trường tải lên hình ảnh | Chỉ tải lên các định dạng hình ảnh hợp lệ như jpg.png, v.v. |
Như chúng tôi đã nói trước đó, chúng tôi phải đảm bảo trong tất cả các trường hợp tiêu cực này, hệ thống của chúng tôi sẽ hoạt động bình thường. Hãy xem xét trường hợp nếu ai đó cố gắng nhập một ký tự vào trường số và hệ thống không thể xử lý dữ liệu không mong muốn vì nó đang mong đợi một số và cuối cùng, hệ thống gặp sự cố. Hoặc điều gì sẽ xảy ra nếu ai đó cố gắng thực hiện một SQL injection và xóa tất cả dữ liệu của chúng tôi khỏi cơ sở dữ liệu. Chúng tôi không thể chịu đựng được những tổn thất tiềm ẩn như vậy. Vì vậy, xét nghiệm tiêu cực là quan trọng.
Tại sao phải kiểm tra tiêu cực?
Vì thử nghiệm là nhiệm vụ tốn thời gian và chi phí, nên việc quyết định 'cái gì', 'như thế nào' và 'bao nhiêu' để thử nghiệm thực sự quan trọng. Chúng ta phải lựa chọn một cách khôn ngoan xem có nên thực hiện thử nghiệm tiêu cực trong hệ thống của mình hay không. Vì vậy, hãy cùng xem xét tầm quan trọng của thử nghiệm tiêu cực.
Quan điểm tổ chức
Trách nhiệm của tổ chức là cung cấp sản phẩm có chất lượng tốt cho khách hàng của mình. Để đạt được điều này, người ta phải làm thử nghiệm tiêu cực.
Là một phần của việc xác nhận lỗi, tổ chức phải thực hiện kiểm tra tiêu cực.
Có thể chúng ta không thể xây dựng một hệ thống 100% không có lỗi, nhưng chúng ta phải đảm bảo rằng chúng ta đã làm mọi thứ để ngăn ngừa lỗi, để đạt được điều đó chúng ta nên thực hiện kiểm thử tiêu cực.
Tác động là một yếu tố mà chúng ta phải xem xét. Hãy xem xét chúng tôi đã thực hiện thử nghiệm tích cực trên một trang web thương mại điện tử và đảm bảo mọi thứ đều ổn. Nhưng điều gì sẽ xảy ra nếu có một lỗ hổng trong hệ thống của chúng tôi khiến ai đó có thể thực hiện thao tác chèn SQL và xóa tất cả dữ liệu của chúng tôi. Đó sẽ là một vi phạm an ninh lớn. Để tránh loại trường hợp này, người ta cũng phải thực hiện xét nghiệm âm tính.
Đối với các ứng dụng mở cho công chúng, chủ yếu là các trang web, chúng tôi phải luôn lưu ý rằng chúng tôi không có nhiều quyền kiểm soát quy trình sử dụng ứng dụng, vì vậy chúng tôi phải thực hiện kiểm tra tiêu cực để đảm bảo rằng tất cả các trường hợp như vậy đều được bảo vệ và ngăn chặn.
Một điều nữa chúng ta cần quan tâm là ngoài kia có rất nhiều hacker đen đang tìm cơ hội để phá hủy hệ thống. Hacking là một trường hợp quan trọng được đề cập trong thử nghiệm tiêu cực
Quan điểm khách hàng
Khách hàng luôn mong đợi các sản phẩm không có lỗ hổng bảo mật để đảm bảo rằng việc kiểm tra tiêu cực là điều bắt buộc
Nếu đó là một sản phẩm nhạy cảm như thương mại điện tử, chứng khoán trực tuyến, v.v. thì việc kiểm tra bảo mật và tiêu cực là điều bắt buộc.
Mối quan tâm duy nhất của khách hàng liên quan đến xét nghiệm âm tính là chi phí. Nhưng một khi tác động được phân tích, khách hàng sẽ quyết định có nên thực hiện thử nghiệm tiêu cực hay không.
Cách thực hiện xét nghiệm tiêu cực
Để thực hiện kiểm tra tiêu cực, chúng tôi phải xem xét tất cả các trường hợp có thể xảy ra. Đó là nếu có thể chúng ta phải xem xét nó trong Trường hợp thử nghiệm bất kể đó có phải là cách sử dụng đúng hay không. Ví dụ, nếu chúng ta thấy một trường email, hãy nghĩ về tất cả các đầu vào có thể có mà chúng ta có thể đưa vào đó ngoài định dạng email đúng. Tương tự như vậy khi chúng ta thấy tùy chọn tải lên hình ảnh, chúng ta phải kiểm tra nó với tất cả các tệp có thể.
Trong khi tạo các trường hợp kiểm tra tiêu cực, chúng ta phải ưu tiên các đầu vào, nếu không, sẽ có rất nhiều trường hợp có thể xảy ra. Ví dụ, đối với một trường hình ảnh mà chỉ các tệp '.png' được cho là nhập vào, chúng ta có thể có nhiều tùy chọn để tải lên như 'jpeg', 'xml', 'xls', v.v. Vì vậy, chúng ta cần ưu tiên các tùy chọn như XML và SQL có thể có tác động lớn hơn jpeg và xls vì vậy chúng ta nên quan tâm đến các trường hợp SQL và XML trước tiên. Như vậy, chúng ta phải ưu tiên các trường hợp trước khi thực hiện để tiết kiệm thời gian và chi phí kiểm thử.
Ưu và nhược điểm của thử nghiệm tiêu cực
Giống như tất cả các kỹ thuật kiểm tra khác, có những ưu và nhược điểm đối với kiểm tra tiêu cực chủ yếu dựa trên việc sử dụng 'ở đâu', 'khi nào' và 'làm thế nào'. Chúng ta hãy nhìn vào điều này.
Ưu điểm của thử nghiệm tiêu cực
- Như chúng ta đều biết kiểm tra tiêu cực là rất quan trọng để đảm bảo chất lượng của sản phẩm. Một sản phẩm chất lượng tốt là một sản phẩm không có lỗ hổng, việc đảm bảo rằng việc kiểm tra tiêu cực là rất quan trọng.
- Thực hiện kiểm thử âm tính đảm bảo rằng tất cả các trường hợp có thể xảy ra đều được xử lý. Cố ý hay vô ý đều có khả năng xảy ra trường hợp thử nghiệm âm tính. Vì vậy, để đảm bảo tất cả các trường hợp đều được xử lý, chúng tôi phải thực hiện xét nghiệm âm tính cùng với xét nghiệm dương tính.
- Thử nghiệm tiêu cực sẽ tạo niềm tin hơn cho khách hàng trước khi đi vào hoạt động.
Nhược điểm của thử nghiệm tiêu cực
- Trong Kỹ thuật phần mềm, thử nghiệm tiêu cực trong một số trường hợp trở thành sự lãng phí thời gian và năng lượng. Trong nhiều trường hợp, không cần phải xét nghiệm âm tính quá mức. Ví dụ: nếu một ứng dụng được tạo ra để một người sử dụng thì chúng ta không phải xét đến trường hợp 100 người dùng sử dụng hệ thống cùng một lúc. Vì vậy, việc quyết định điều kiện trong các trường hợp kiểm thử âm tính là rất quan trọng. Sẽ có những lúc chúng tôi không phải thực hiện thử nghiệm tiêu cực trên một hệ thống cụ thể.
- Yêu cầu người có tay nghề và kinh nghiệm để tạo ra các ca kiểm thử âm tính.
- Đối với khách hàng, thử nghiệm tiêu cực là một nguyên nhân khác gây ra sự chậm trễ không cần thiết trong việc phát hành và tăng thêm chi phí.
- Khả năng nhóm dành nhiều thời gian và sức lực hơn cho thử nghiệm tiêu cực. Có khả năng người thử nghiệm dành nhiều thời gian và sức lực cho thử nghiệm tiêu cực, dẫn đến thử nghiệm tích cực kém tập trung hơn.