logo

Đang load dữ liệu

logo devmaster

VIỆN CÔNG NGHỆ VÀ ĐÀO TẠO DEVMASTER

Đào tạo - Phần mềm - Cho thuê nhân sự

  • 0969.609.003
  • 0978.611.889
  • Trang chủ
  • Các khoá đào tạo
    • Chuyên đề WEB - PHP

      • Lập trình web với HTML5 - CSS3- JQuery - Bootstrap - Ajax - [36 giờ]
      • Lập trình web frontend - reactjs - [75 giờ]
      • Lập trình web với mã nguồn mở PHP&MYSQL - PHP FRAMEWORK [126 giờ]

      Chuyên đề Mobile

      • Lập trình Games/Apps trên nền tảng Android - [120 giờ]
      • Lập trình Games/Apps trên nền tảng IOS - [120 giờ]

      Chuyên đề JAVA

      • Ngôn ngữ lập trình hướng đối tượng với java - [40 giờ]
      • Lập trình ứng dụng với java - [100 giờ]
      • Lập trình web site với java framework (JPA, HIBERNATE, SPRING MVC, SPRINGBOOT) - [276 giờ]

      Chuyên đề NETWORK/SECURITY

      • Khoá học Quản trị hạ tầng mạng CCNA v6 - [72 giờ]
      • Khoá học quản trị hệ thống với Windows SERVER 2012- [72 giờ]
      • Chuyên gia bảo mật hệ thống CompTIA + - [110 giờ]

      Chuyên đề .NET

      • Nền tảng lập trình hướng đối tượng với C# - [40 giờ]
      • Lập trình ứng dụng WINDOWS FORM - [100 giờ]
      • Lập trình Web với ASP.NET MVC 5, WebAPI - [145 giờ]

      Chuyên đề khác

      • Ngôn ngũ lập trình C/C++ - [80 giờ]
  • Lập trình cho trẻ em
  • Dịch vụ
    • Đào tạo theo như cầu
    • Cung cấp thiết bị - Phần mềm
    • Tư vấn - Thiết kế mạng hạ tầng
    • Tư vấn - Triển khai dịch vụ mạng
    • Tư vấn - Tư vấn, triển khai giám sát hệ thống
    • Thực tập dự án
  • Lịch khai giảng
  • Tin tức
    • Tin tức và sự kiện
    • Tin hoạt động
    • Tin công nghệ
    • Hội thảo, workshop, Codecam
    • Thông tin việc làm
    • Cẩm nang chia sẻ kiến thức
  • Tiện ích
  • Liên hệ

Cẩm nang chia sẻ kiến thức

Jun - 2019

23

Tìm hiểu về 7 nguyên tắc trong kiểm thử phần mềm và các ví dụ liên quan

Cẩm nang chia sẻ kiến thức

Tìm hiểu về 7 nguyên tắc trong kiểm thử phần mềm và các ví dụ liên quan

 

Bài hướng dẫn sau đây sẽ giới thiệu 7 nguyên tắc cơ bản trong kiểm thử phần mềm mà tất cả các chuyên viên kiểm thử phần mềm từ cơ bản đến nâng cao nên biết. Trong tiến hành kiểm thử phần mềm, điều quan trọng nhất là bạn đạt được kết quả tối ưu mà không đi chệch hướng khỏi mục tiêu ban đầu. Để đảm bảo rằng bạn không đi chệch hướng khỏi mục tiêu, bạn cần tuân thử theo một nguyên tắc kiểm thử cơ bản. Sau đây là 7 nguyên tắc kiểm thử phổ biến được áp dụng rộng rãi trong kiểm thử phần mềm. Để tìm hiểu điều này, chúng ta hãy cùng xem xét một kịch bản đơn giản khi bạn thực hiện di chuyển một tệp từ Thư mục A sang Thư mục B.

Hãy nghĩ về tất cả những cách bạn có thể kiểm tra điều này.

Ngoài các kịch bản thông thường, bạn cũng có thể kiểm tra các điều kiện như sau :

  • Bạn đang cố gắng di chuyển tệp khi nó đang mở
  • Bạn không có quyền bảo mật để dán tệp vào Thư mục B
  • Thư mục B nằm trên ổ đĩa chung và dung lượng lưu trữ đã đầy.
  • Thư mục B đã có một tệp có cùng tên, trên thực tế, danh sách này là vô tận
  • Hoặc giả sử bạn có 15 trường đầu vào để kiểm tra, mỗi trường có 5 giá trị có sẵn, số lượng kết hợp sẽ được kiểm tra sẽ là 5 ^ 15

Nếu bạn muốn kiểm tra toàn bộ dự án kết hợp có thể THỜI GIAN THỰC HIỆN & CHI PHÍ sẽ tăng theo cấp số nhân. Chúng tôi cần một số nguyên tắc và chiến lược nhất định để tối ưu hóa nỗ lực thử nghiệm

Dưới đây là 7 nguyên tắc:

Kiểm thử tất cả là không thể

Đúng thế! Kiểm thử tất cả là không thể. Thay vào đó, chúng ta cần chọn thực thi những loại kiểm thử quan trọng nhất dựa trên phân tích rủi ro cũng như tầm quan trọng và độ ưu tiên của việc kiểm thử.

Và câu hỏi đáng giá triệu đô la là, làm thế nào để bạn xác định rủi ro này?

Để trả lời điều này thì theo bạn, thao tác nào có khả năng khiến hệ điều hành của bạn bị lỗi?

Tôi chắc chắn rằng hầu hết các bạn sẽ đoán, mở tất cả 10 ứng dụng khác nhau cùng một lúc.

Vì vậy, nếu bạn đang thử nghiệm Hệ điều hành này, bạn sẽ nhận ra rằng các lỗi có thể được tìm thấy trong hoạt động đa tác vụ và cần phải được kiểm tra kỹ lưỡng, điều này đưa chúng ta đến nguyên tắc tiếp theo: Cụm lỗi

Cụm lỗi

Trong quá trình kiểm thử, chúng ta sẽ có thể dễ dàng quan sát thấy đa phần những lỗi tìm được thường chỉ liên quan đến một vài tính năng của hệ thống.. Đây là ứng dụng của Nguyên tắc Pareto để kiểm tra phần mềm: khoảng 80% các vấn đề được tìm thấy trong 20% các tính năng của hệ thống.

Theo kinh nghiệm, bạn có thể xác định các tính năng rủi ro như vậy. Nhưng phương pháp này cũng có vấn đề riêng của nó.

Nếu các thử nghiệm tương tự được lặp đi lặp lại nhiều lần, cuối cùng các trường hợp thử nghiệm tương tự sẽ không còn tìm thấy các lỗi mới.

Nghịch lý thuốc trừ sâu

Việc sử dụng lặp đi lặp lại cùng một loại thuốc trừ sâu để diệt côn trùng trong quá trình nuôi sẽ theo thời gian dẫn đến việc côn trùng phát triển tính kháng thuốc trừ sâu. Do đó, thuốc trừ sâu trên côn trùng không hiệu quả. Điều tương tự cũng áp dụng cho kiểm thử phần mềm. Nếu một bộ test cases được thực hiện lặp đi lặp lại nhiều lần sẽ không còn ý nghĩa trong việc phát hiện ra các lỗi mới.

Để khắc phục điều này, các trường hợp kiểm thử cần phải được xem xét & sửa đổi thường xuyên, thêm các trường hợp kiểm thử mới & khác nhau để giúp tìm ra nhiều lỗi hơn.

Người kiểm tra không thể phụ thuộc đơn giản vào các kỹ thuật kiểm tra hiện có. Chúng ta phải liên tục cải thiện các phương pháp hiện có để kiểm thử được hiệu quả hơn. Nhưng ngay cả sau khi thử nghiệm mồ hôi và công sức này, bạn không bao giờ có thể khẳng định sản phẩm của mình không có lỗi. Để chứng minh điểm này, chúng ta hãy xem video này về sự ra mắt công khai của Windows 98

Bạn nghĩ rằng một công ty như MICROSOFT sẽ không kiểm tra hệ điều hành của họ một cách kỹ lưỡng và sẽ mạo hiểm danh tiếng của họ chỉ để thấy hệ điều hành của họ bị sập trong khi ra mắt công khai!

Kiểm thử chứng minh sự hiện diện của lỗi

Do đó, nguyên tắc kiểm thử nói rằng – Kiểm thử chỉ chứng minh được sự hiện diện của lỗi và không thể chứng minh được sản phẩn không còn lỗi.. Tức là Kiểm thử phần mềm làm giảm xác suất lỗi chưa được phát hiện trong phần mềm nhưng ngay cả khi không tìm thấy lỗi, đó không phải là bằng chứng về tính chính xác. Nhưng nếu, bạn làm việc chăm chỉ hơn, thực hiện mọi biện pháp phòng ngừa và làm cho sản phẩm phần mềm của bạn không có lỗi 99%. Và phần mềm không đáp ứng nhu cầu & yêu cầu của khách hàng. Điều này dẫn chúng ta đến nguyên tắc tiếp theo, trong đó nêu rõ rằng – Sự vắng mặt của Lỗi

Sự vắng mặt của lỗi

Có thể phần mềm không có lỗi 99% vẫn không sử dụng được. Đây có thể là trường hợp nếu hệ thống được kiểm tra kỹ lưỡng cho các yêu cầu sai. Kiểm thử phần mềm không chỉ đơn thuần là tìm lỗi, mà còn để kiểm tra xem phần mềm có đáp ứng nhu cầu kinh doanh không. Sự vắng mặt của Lỗi là sai lầm, tức là việc tìm và sửa lỗi không giúp ích gì nếu việc xây dựng hệ thống không sử dụng được và không đáp ứng nhu cầu & yêu cầu của người dùng.

Để giải quyết vấn đề này, nguyên tắc thử nghiệm tiếp theo nêu rõ rằng Kiểm thử sớm

Kiểm thử sớm

Kiểm thử nên bắt đầu sớm nhất có thể trong Vòng đời phát triển phần mềm. Vì vậy, bất kỳ lỗi nào trong các yêu cầu hoặc giai đoạn thiết kế được nắm bắt trong giai đoạn đầu. Nó rẻ hơn nhiều để sửa một lỗi trong giai đoạn đầu của thử nghiệm. Nhưng làm thế nào để bắt đầu kiểm thử sớm? Bạn nên bắt đầu tìm lỗi ngay khi yêu cầu được xác định. Thêm về nguyên tắc này trong một hướng dẫn đào tạo sau này.

Kiểm thử phụ thuộc vào ngữ cảnh

Kiểm thử phụ thuộc vào ngữ cảnh, về cơ bản có nghĩa là cách bạn kiểm tra trang web thương mại điện tử sẽ khác với cách bạn kiểm tra quảng cáo ngoài ứng dụng. Tất cả các phần mềm được phát triển không giống nhau. Bạn có thể sử dụng một cách tiếp cận, phương pháp, kỹ thuật và loại kiểm thử khác nhau tùy thuộc vào loại ứng dụng. Đối với kiểm thử ví dụ, bất kỳ hệ thống POS nào tại cửa hàng bán lẻ sẽ khác với thử nghiệm máy ATM.

Tóm tắt bảy nguyên tắc kiểm tra

Nguyên tắc 1 Kiểm thử cho thấy sự hiện diện của lỗi Nguyên tắc 2 Kiểm thử toàn diện là không thể Nguyên tắc 3 Kiểm thử sớm Nguyên tắc 4 Cụm lỗi Nguyên tắc 5 Nghịch lý thuốc trừ sâu Nguyên tắc 6 Kiểm thử là phụ thuộc vào ngữ cảnh Nguyên tắc 7 Sự vắng mặt của lỗi

Quan niệm: “Nguyên tắc chỉ mang tính tham khảo. Tôi sẽ không sử dụng chúng trong thực tế.”

Điều này là rất sai sự thật. Nguyên tắc kiểm tra sẽ giúp bạn tạo Chiến lược kiểm thử hiệu quả và dự thảo các trường hợp kiểm tra lỗi.

Nhưng học các nguyên tắc kiểm thử cũng giống như học lái xe lần đầu tiên.

Ban đầu, trong khi bạn học lái xe, bạn chú ý đến từng thứ và mọi thứ như sang số, tốc độ, xử lý ly hợp, v.v. Nhưng với kinh nghiệm, bạn chỉ tập trung vào việc lái phần còn lại một cách tự nhiên. Như vậy, bạn thậm chí còn tổ chức các cuộc trò chuyện với các hành khách khác trong xe.

Điều tương tự cũng đúng cho các nguyên tắc kiểm thử. Những người kiểm thử có kinh nghiệm đã tóm tắt những nguyên tắc này đến một mức độ mà họ áp dụng chúng ngay cả khi không cần suy nghĩ. Do đó, quan niệm cho rằng các nguyên tắc không được sử dụng trong thực tế đơn giản là không đúng.

Nguồn: Devmaster Academy via viblo.asia



🌹 #DevmasterAcademy 🌸 KHAI GIẢNG KHÓA HỌC CHUYÊN ĐỀ WEB #PHP 🌹 
🕕 25-06-2019 18h00 - 21h00 🕕 
💠💠 LẬP TRÌNH WEBSITE #PHP CHUYÊN NGHIỆP CHỈ SAU 126 GIỜ 🌸 
🌹 HỌC XONG ĐI LÀM NGAY 
🌸 #Khóa_Học_Nghề_Lập_Trình_Web_PHP #CơBản và #NângCao. 
💠💠 #DevmasterAcademy Đảm Bảo: ==> 
✅✅ HỌC NGHỀ LẬP TRÌNH 🌸 
❓Bạn là sinh viên #CNTT, là người làm việc trong lĩnh vực #CNTT hay là người mới bắt đầu và có định hướng theo học ngôn ngữ lập trình #PHP
❓ #DevmasterAcademy sẽ giúp bạn hiểu sâu về lập trình web và trở thành nghề lập trình thực sự! 
✅✅ HUẤN LUYỆN TỪ A-Z 🌸 
❓Bạn từng học hoặc yêu thích #CNTT, đang cần tìm học một nghề Hot & Lương cao. 
❓Bạn muốn tự tay lập trình và thiết kế từ A - Z một trang web hoàn chỉnh hiển thị trên nhiều nền tảng với đầy đủ chức năng? #DevmasterAcademy sẽ giúp đỡ các bạn bên lộ trình trở thành lập trình viên chuyên nghiệp từ A đến Z! 
✅✅ TÌM KIẾM ĐAM MÊ 🌸 
#Facebo0k đã được #MacZuckerberg đã viết bằng ngôn ngữ #PHP. Hãy tìm lấy niềm đam mê của chính mình. 
✅✅ ĐẢM BẢO VIỆC LÀM 
🌸 Học xong làm việc ngay, định hướng cho tương lai của bạn, lộ trình làm việc của bạn ra sao. 
↪️↪️ Hãy ĐĂNG KÝ NGAY khóa đào tạo ngôn ngữ lập trình PHP (126 giờ) tại Viện Công nghệ và Đào tạo #Devmaster để được: 
👉 Cung cấp kỹ năng thiết kế giao diện #website chuyên nghiệp. 
👉 Cung cấp kỹ năng phân tích, thiết kế và xây dựng ứng dụng trên nền tảng #web với ngôn ngữ lập trình #PHP từ cơ bản đến nâng cao. 
👉 Cung cấp các kỹ thuật lập trình hiệu quả, kiến thức cơ bản sử dụng #Framework với #PHP để tạo các #website tin tức, thương mại điện tử, blogs… 
👉 Biết cách tự triển khai ứng dụng trên hosting.
♻️♻️ #DevmasterAcademy luôn CAM KẾT sẽ mang đến cho học viên những giá trị tốt nhất: 
👉 Giảng viên là các chuyên gia hàng đầu về CNTT và là người trực tiếp triển khai các dự án sẽ cầm tay chỉ việc. 
👉 Cung cấp và đào tạo những kiến thức mới, sát với thực tế nhất. 
👉 Học lý thuyết song song với thực hành làm việc trên các dự án thực tế. (25% LÝ THUYẾT + 75% THỰC HÀNH)
👉 Sắp xếp giới thiệu việc làm tốt nhất cho học viên sau khi hoàn thành khóa học. 
👉 Lịch học tự do, có thể học bất kỳ ngày nào trong tuần và buổi nào trong ngày. 
📣📣 Còn chần chừ gì nữa, hãy đăng ký khóa đào tạo ngôn ngữ #PHP tại #DevmasterAcademy ngay từ hôm nay để biến ước mơ làm lập trình viên #PHP chuyên nghiệp của bạn trở thành sự thật! 
🌍 Đăng ký khóa học tại đây: http://devmaster.edu.vn/dang-ky-hoc.html 
🌍 Nội dung khóa học tham khảo tại: 
https://devmaster.edu.vn/Lap-trinh-web-ma-nguon-mo-php-mysq…
💠💠💠💠💠💠💠💠💠💠💠💠
🌹 VIỆN CÔNG NGHỆ VÀ ĐÀO TẠO #DEVMASTER 🌹 
☎ Hotline: 0969.609.003 | 0978.611.889 | 0969 870 001 🏡 Hoặc đăng ký trực tiếp ghi danh tại địa chỉ: 
➡Cơ sở 1: Tầng 6, Tòa nhà Viện Công Nghệ (RITM), Số 25 Vũ Ngọc Phan – Láng Hạ - Đống Đa - Hà Nội
💠💠💠💠💠💠💠💠💠💠💠💠
#HọcLậpTrình #HọcLậpTrìnhWeb

#HọcLậpTrìnhPHP 
#LậpTrình #LậpTrìnhWeb #LậpTrìnhWebPHP 
#Laravel #Yii #CI #Framework #FrameworkLaravel #MySQL #PHP 

#HTML5#CSS3 #Javascript #Jquery #Bootstrap #AngularJS6 #VUEJS #KnockJS
#HocLapTrinh #LapTrinh #HocLapTrinhPHP #LapTrinhPHP#LapTrinhWebPHP

 

 

Các bài viết cùng chủ đề

BÍ QUYẾT HỌC LẬP TRÌNH CHO CÁC BẠN ĐẦU NĂM HỌC MỚI ❤
BÍ QUYẾT HỌC LẬP TRÌNH CHO CÁC BẠN ĐẦU NĂM HỌC MỚI...
5 Phương pháp hay để mở rộng các dự án React của bạn một cách dễ dàng
5 Phương pháp hay để mở rộng các dự án React của b...
Lab06.1 - Data Access In ASPNET MVC 5
Lab06.1 - Data Access In ASPNET MVC 5
Lab05 - Data Validation and Annotation In ASPNET MVC 5
Lab05 - Data Validation and Annotation In ASPNET M...
Lab 04 - Model in ASP.NET MVC 5 - Phần tự thực hành
Lab 04 - Model in ASP.NET MVC 5 - Phần tự thực hàn...
Lab 04 - Model in ASP.NET MVC 5 - Bài 4.2
Lab 04 - Model in ASP.NET MVC 5 - Bài 4.2

Các khóa đào tạo chuyên đề

Thiết kế và lập trình Website PHP, Laravel chuyên nghiệp - FullStack
Thiết kế và lập trình Website PHP, Laravel chuyên nghiệp - FullStack
Lập trình ứng dụng trên nền tảng android Lập trình ứng dụng trên nền tảng android
Lập trình Ứng dụng với Công nghệ ASP.NET Core MVC, WebAPI, ReactJS - FullStack

Lập trình Ứng dụng với Công nghệ ASP.NET Core MVC, WebAPI, ReactJS - FullStack
Lập trình ứng dụng với WINDOWS FORM Lập trình ứng dụng với WINDOWS FORM
Lập trình ứng dụng với JAVA (FORM) Lập trình ứng dụng với JAVA (FORM)
Thiết kế và lập trình Ứng dụng với công nghệ Java (Java Framework springBoot, hibernate,...) - FullStack
Thiết kế và lập trình Ứng dụng với công nghệ Java (Java Framework springBoot, hibernate,...) - FullStack
Thiết kế và lập trình website với công nghệ HTML5, CSS3, Javascript, Bootstrapt 4, Jquery Thiết kế và lập trình website với công nghệ HTML5, CSS3, Javascript, Bootstrapt 4, Jquery
Lập trình frontend với reacjs (Full) Lập trình frontend với reacjs (Full)
Viện Công Nghệ Và Đào Tạo Devmaster

DEVMASTER ACADEMY

Địa chỉ: Tầng 6 - Tòa nhà VIỆN CÔNG NGHỆ
Số 25, Vũ Ngọc Phan - Láng Hạ - Đống Đa - Hà Nội

Hotline: 0969 609 003 | 0978 611 889

devmaster.contact@gmail.com

hna.tvchung@gmail.com

CÁC KHÓA HỌC CHUYÊN ĐỀ

  • Thiết kế và lập trình Website PHP, Laravel chuyên nghiệp - FullStack
  • Lập trình ứng dụng trên nền tảng android
  • Lập trình Ứng dụng với Công nghệ ASP.NET Core MVC, WebAPI, ReactJS - FullStack
  • Lập trình ứng dụng với WINDOWS FORM
  • Lập trình ứng dụng với JAVA (FORM)
  • Thiết kế và lập trình Ứng dụng với công nghệ Java (Java Framework springBoot, hibernate,...) - FullStack
  • Thiết kế và lập trình website với công nghệ HTML5, CSS3, Javascript, Bootstrapt 4, Jquery
  • Lập trình frontend với reacjs (Full)
Viện Công Nghệ Và Đào Tạo Devmaster

VIỆN CÔNG NGHỆ VÀ ĐÀO TẠO DEVMASTER - Học thực tế * Làm thực tế * Cam kết việc làm
Copyright by Ⓒ DEVMASTER 2015