Trắc nghiệm và kiểm nghiệm

GS John Vu24/04/2026 15:00
Trắc nghiệm và kiểm nghiệm

Tôi nhận được một email mà người gửi viết: “Khác biệt giữa trắc nghiệm – Verification và kiểm nghiệm Validation (V&V) là gì và có bao nhiêu kĩ thuật V&V?”

Câu trả lời của tôi: Nhiều sinh viên lẫn lộn về thuật ngữ trắc nghiệm và kiểm nghiệm bởi vì chúng thường được dùng đổi lẫn cho nhau trong một số sách giáo khoa. Tuy nhiên, có khác biệt về nghĩa của chúng. Theo Bảng từ chuẩn IEEE về thuật ngữ kĩ nghệ phần mềm, trắc nghiệm được định nghĩa là “Qui trình đánh giá hệ thống hay cấu phần để xác định liệu sản phẩm của pha phát triển đã nêu có thoả mãn các điều kiện được áp đặt lúc bắt đầu pha đó không.” Kiểm nghiệm được định nghĩa là “Qui trình đánh giá một hệ thống hay cấu phần trong hay cuối qui trình phát triển để xác định liệu nó có thoả mãn các yêu cầu đặc biệt không.” Về căn bản, trắc nghiệm chứng tỏ liệu cái ra của pha có tuân thủ theo cái vào của pha không, tuy nhiên nó không phát hiện lỗi nếu cái vào là không đúng. Bởi vì phụ thuộc một mình vào trắc nghiệm là KHÔNG đủ, cho nên kiểm nghiệm là cần để kiểm tra các vấn đề với đặc tả yêu cầu để chứng minh rằng hệ thống làm việc đúng tương ứng.

Có vài kĩ thuật trắc nghiệm nhưng phần lớn rơi vào hai khu vực chính: Kiểm thử động và kiểm thử tĩnh.

  • Kiểm thử động bao gồm việc thực hiện hệ thống hay cấu phần. Về căn bản, một số các trường hợp kiểm thử được chọn ra, tại đó từng trường hợp kiểm thử đều có chứa dữ liệu kiểm thử. Những trường hợp kiểm thử này được dùng để xác định kết quả kiểm thử ra. Kiểm thử động có thể được phân chia thêm thành ba loại – kiểm thử chức năng, kiểm thử cấu trúc, và kiểm thử ngẫu nhiên.
  • Kiểm thử chức năng bao gồm nhận diện và kiểm thử tất cả các chức năng của hệ thống như đã được xác định trong yêu cầu. Dạng này của kiểm thử là ví dụ về kiểm thử hộp đen vì nó không bao gồm tri thức về thực hiện hệ thống.
  • Kiểm thử cấu trúc bao gồm kiểm thử có tri thức đầy đủ về thực hiện hệ thống (kiểm thử hộp trắng). Nó dùng thông tin từ cấu trúc nội bộ của hệ thống để làm ra kiểm thử để kiểm vận hành của từng cấu phần riêng lẻ. Kiểm thử chức năng và cấu trúc cả hai đều chứa các trường hợp kiểm thử mà sẽ kiểm đặc trưng đặc thù của hệ thống.
  • Kiểm thử ngẫu nhiên - Kiểm thử chọn tự do các trường hợp kiểm thử trong tập mọi trường hợp kiểm thử có thể có. Việc dùng cái vào được  xác định ngẫu nhiên có thể phát hiện ra lỗi không được các kĩ thuật kiểm thử hệ thống khác phát hiện ra.
  • Kiểm thử tĩnh là kiểm thử không chứa việc thực hiện hệ thống hay cấu phần. Một số có thể được thực hiện một cách thủ công trong khi các kiểm thử khác được tự động hoá. Kiểm thử tĩnh có thể được phân chia thêm thành các kĩ thuật phân tích tính nhất quán và kĩ thuật đo tính chất chương trình.
  • Kĩ thuật về tính nhất quán - Các kĩ thuật được dùng để đảm bảo tính chất chương trình như đúng cú pháp, tương ứng đúng tham biến giữa các thủ thục, đúng định kiểu, và dịch đúng yêu cầu và đặc tả.
  • Kĩ thuật đo - Kĩ thuật đo các tính chất như việc sinh lỗi, tính hiểu được, và có cấu trúc tốt.

Có một vài kĩ thuật kiểm nghiệm như phương pháp hình thức, cách tiêm lỗi (phần cứng và phần mềm), phân tích rủi ro và phân tích phụ thuộc. Kiểm nghiệm thường xảy ra ở cuối chu kì phát triển, và nhìn vào hệ thống đầy đủ để trắc nghiệm, hội tụ vào các hệ con nhỏ hơn.

  • Phương pháp hình thức - Phương pháp hình thức dùng các kĩ thuật toán học và logic để diễn đạt, nghiên cứu, và phân tích đặc tả, thiết kế, tài liệu, và hành vi của cả phần cứng và phần mềm.
  • Tiêm lỗi - Tiêm lỗi là việc kích hoạt có chủ định các lỗi hoặc bởi phương tiện phần cứng hay phần mềm để quan sát vận hành hệ thống trong điều kiện có lỗi.
  • Phân tích tính phụ thuộc - Phân tích tính phụ thuộc bao gồm nhận diện những nguy cơ và rồi đề đạt giải pháp làm giảm rủi ro của nguy cơ xuất hiện.
  • Phân tích rủi ro – qui trình nhận diện các hậu quả có thể của từng nguy cơ và xác suất xuất hiện của chúng.

English version

Verification and validation

I received an email where the sender wrote: “What is the difference between Verification and Validation (V&V) and how many V&V techniques are there?”

My answer: Many students confuse about the terms verification and validation because they are used interchangeably in some textbooks. However, there are differences in their meaning. According to the IEEE Standard Glossary of Software Engineering Terminology, Verification is defined as “The process of evaluating a system or component to determine whether the products of a given development phase satisfy the conditions imposed at the start of that phase.” Validation is defined as “The process of evaluating a system or component during or at the end of the development process to determine whether it satisfies specified requirements.” Basically, verification demonstrates whether the output of a phase conforms to the input of a phase, however it will not detect errors if the input is incorrect. Because it is NOT enough to depend on verification alone, so validation is necessary to check for problems with the requirement specification to demonstrate that the system is working accordingly.

There are several verification techniques but most fall into two major areas: Dynamic testing and Static testing.

  • Dynamic testing involves the execution of a system or component. Basically, a number of test cases are chosen, where each test case consists of test data. These input test cases are used to determine output test results. Dynamic testing can be further divided into three categories – functional testing, structural testing, and random testing.
  • Functional testing involves identifying and testing all the functions of the system as defined within the requirements. This form of testing is an example of black-box testing since it involves no knowledge of the implementation of the system.
  • Structural testing involves testing that has full knowledge of the implementation of the system (white-box testing). It uses the information from the internal structure of a system to devise tests to check the operation of individual components. Functional and structural testing both involve test cases that check a particular characteristic of the system.
  • Random testing - Testing that freely chooses test cases among the set of all possible test cases. The use of randomly determined inputs can detect faults that go undetected by other systematic testing techniques.
  • Static testing is test that does not involve the execution of the system or component. Some can be performed manually while others are automated. Static testing can be further divided into techniques that analyze consistency and techniques that measure program property.
  • Consistency techniques - Techniques that are used to insure program properties such as correct syntax, correct parameter matching between procedures, correct typing, and correct requirements and specifications translation.
  • Measurement techniques - Techniques that measure properties such as error proneness, understandability, and well-structuredness.

There are several validation techniques such as formal methods, fault injection (Hardware and software), risk analysis and dependability analysis. Validation usually takes place at the end of the development cycle, and looks at the complete system as opposed to verification, which focuses on smaller sub-systems.

  • Formal methods - Formal methods use mathematic and logic techniques to express, investigate, and analyze the specification, design, documentation, and behavior of both hardware and software.
  • Fault injection - Fault injection is the intentional activation of faults by either hardware or software means to observe the system operation under fault conditions.
  • Dependability analysis - Dependability analysis involves identifying hazards and then proposing methods that reduces the risk of the hazard occurring.
  • Risk analysis – the process of identifying the possible consequences of each hazard and their probability of occurring.

 


Gửi bình luận
(0) Bình luận
1

Làm việc hay không làm việc

Tuần trước tôi nhận được một email: “Dường như là thầy đang khuyến khích sinh viên đi làm trong khi vẫn đang học đại học nhưng bố mẹ em bảo em rằng em phải tập trung vào học tập vì họ có thể chăm lo cho em. Đi làm sẽ làm phân tán học tập của em và em KHÔNG nên làm hai điều đồng thời thì sẽ không thành công trong cái nào. Thầy nghĩ thế nào?”
2

Phần mềm mã nguồn mở

Phần mềm “nguồn mở” là phần mềm được viết theo cách mã nguồn để mở, sẵn có cho mọi người dùng, thay đổi, cải tiến và tự do phân phối lại nó.
3

Nghề nghiệp và việc làm

"Em hiểu rằng giáo dục đại học là quan trọng nhưng em vẫn bị lẫn lộn về chọn lựa của em khi kết thúc giáo dục bậc đại học rồi đi làm cùng việc làm như mọi người có sáu tháng đào tạo lập trình..."
4

Tính toán mây

Một người quản lí hỏi: “Tác động của tính toán mây là gì? Công ti tôi được coi như dùng dịch vụ tính toán mây từ Microsoft. Điều gì sẽ xảy ra cho những người làm việc trong nhóm công nghệ thông tin hỗ trợ cho công ti?”
5

Lập mục đích

Bạn có biết thuyền trưởng dẫn hướng con thuyền của mình trên đại dương thế nào không?

Con đường nghề nghiệp

Nhiều sinh viên tới đại học để học tri thức và kĩ năng mức cao hơn với hi vọng sẽ đưa tới nghề nghiệp tốt hơn và cuộc sống tốt hơn.

Lời khuyên cho sinh viên đại học năm thứ nhất

Hôm nay khi các bạn vào năm học đầu tiên trong đại học, các bạn kích động về cuộc sống mới là sinh viên đại học nhưng một số trong các bạn có thể cảm thấy chút ít không thoải mái bởi vì có khác biệt giữa đại học và trung học. Tôi muốn cho các bạn vài lời khuyên mà có thể giúp bạn trong bốn năm tới:

Kỹ sư phần mềm là...

Khi năm học mới bắt đầu, tôi yêu cầu sinh viên của tôi tới với định nghĩa về kĩ sư phần mềm hay người phát triển phần mềm.

Làm việc tổ trong dự án lớn

Ngày nay nhiều dự án phần mềm là lớn và làm việc tổ đang trở nên quan trọng hơn để giữ mọi người làm việc cùng nhau. Không may nhiều người quản lí không được đào tạo về làm việc theo tổ cho nên khi dự án gặp vấn đề, họ không biết cách giải quyết nó. Điều đầu tiên người quản lí có thể làm là tạo điều kiện cho cuộc họp nơi mọi người có thể nói với nhau.

Xếp hạng đại học năm 2011

14 năm liên tiếp Carnegie Mellon được xếp hạng trong những trường hàng đầu.

Hãy phản biện và sáng tạo hơn khi sử dụng AI

Hôm qua một người bạn kể với tôi rằng anh vừa ghi danh cho đứa con mười hai tuổi, vào một khóa học dạy về Trí Thông Minh Nhân Tạo (AI) để chuẩn bị cho tương lai khi con của anh vào đại học. Anh tin rằng nó sẽ có khả năng và ưu thế hơn các bạn đồng lứa.

Đào tạo và học tập

Yếu tố thành công then chốt cho bất kì công ti phần mềm nào là có tổ gồm các cá nhân có hiệu năng cao, những người đam mê và có hiểu biết về nghề nghiệp của họ.

Việc làm phần mềm

“Tôi học về khoa học máy tính, tốt nghiệp năm 2006 sau đó làm việc cho công ti đầu tư và thương mại chứng khoán. Sáu tháng qua tôi thất nghiệp, liệu tôi có thể kiếm được việc làm trong công nghiệp phần mềm? Thầy có nhắc tới việc thiếu hụt người làm phần mềm, nếu tôi muốn làm việc ở Mĩ thì làm sao tôi có thể kiếm việc làm ở đó? Tôi cần có loại kĩ năng nào?”

'Trạm dừng sinh tử' và những bí ẩn diệu kỳ

“Trạm dừng sinh tử” mang đến cho người đọc nhiều điều ngạc nhiên và đáng chiêm nghiệm về những người cận tử, những người làm công việc chăm sóc người bệnh giai đoạn cuối đời và những mối “nhân duyên” kỳ lạ giữa con người với con người trong cuộc đời này.

Người kiểm thử chuyên nghiệp

Blog GS John VU - GS John Vu - 24/06/2026 12:00
Tuần trước, một sinh viên hỏi tôi: “Kiểm thử có phải là việc làm mức vào nghề hay nó là một nghề chuyên nghiệp? Có nghề như kiểm thử viên phần mềm không?”

Đừng mắc bẫy! Người xấu tính xuyên tạc, đánh giá thấp bạn? Sự thật là họ đang mang "GƯƠNG SOI" chính mình ra chỉ trích!

Kỹ năng - Tích Thành - 24/06/2026 11:00
Khi những lời chỉ trích cay nghiệt, sự hạ bệ vô cớ ập đến, phản ứng tự nhiên của bạn là gì? Thường là giận dữ, ấm ức, hoặc lao vào giải thích để phân bua. Nhưng có một sự thật mà bạn không hề hay biết. Đó là...

Người càng thông minh càng “lạnh”: 3 việc không quản, 4 điều không nói, 5 kiểu không giúp để sống nhẹ đầu

Suy ngẫm - Trang Đào - 24/06/2026 10:00
Trong cách đối nhân xử thế, người thông minh không phải là người nói nhiều hay can thiệp sâu, mà là người biết dừng đúng lúc, lùi đúng chỗ.

"Thần đồng văn học", được Đại học Thanh Hoa phá lệ để tuyển vào: Cuộc sống hiện tại gây bất ngờ

Phong cách sống - Nhật Linh - 24/06/2026 09:00
Trong khi phần lớn học sinh phải cạnh tranh quyết liệt từng điểm số để giành suất vào các trường đại học hàng đầu, một cô gái trẻ ở Trung Quốc từng khiến dư luận bất ngờ khi được Đại học Thanh Hoa đặc cách hạ chuẩn tới 60 điểm để tuyển sinh.

'Trạm dừng sinh tử' và những bí ẩn diệu kỳ

Từ sách - Phim - Thu An - 24/06/2026 08:00
“Trạm dừng sinh tử” mang đến cho người đọc nhiều điều ngạc nhiên và đáng chiêm nghiệm về những người cận tử, những người làm công việc chăm sóc người bệnh giai đoạn cuối đời và những mối “nhân duyên” kỳ lạ giữa con người với con người trong cuộc đời này.

Nghề nghiệp và việc làm

Blog GS John VU - GS John Vu - 23/06/2026 12:00
"Em hiểu rằng giáo dục đại học là quan trọng nhưng em vẫn bị lẫn lộn về chọn lựa của em khi kết thúc giáo dục bậc đại học rồi đi làm cùng việc làm như mọi người có sáu tháng đào tạo lập trình..."

Điều doanh nghiệp cần biết về GPT - “bộ não” phía sau chatbot AI

Kỹ năng - Vân Anh - 23/06/2026 11:00
GPT, viết tắt của Generative Pre-trained Transformer, là một lớp mô hình trí tuệ nhân tạo tạo sinh có khả năng tạo ra văn bản, tóm tắt tài liệu, viết email, trả lời câu hỏi, hỗ trợ lập trình hoặc phân tích dữ liệu theo yêu cầu bằng ngôn ngữ tự nhiên. Nói đơn giản, GPT giống như “bộ não ngôn ngữ” đứng sau nhiều chatbot AI nổi tiếng hiện nay, bao gồm Chat GPT.

Không phải nghèo hay xấu xí: 3 kiểu đàn ông này mới là “án tử xã hội”

Suy ngẫm - Ứng Hà Chi - 23/06/2026 10:00
Đàn ông có những vấn đề này không chỉ là lỗi hành vi, mà phản ánh sự rối loạn ở tầng nhận thức, khả năng tự kiểm soát và phán đoán cốt lõi.

Việt Nam có một nhà văn sở hữu tác phẩm được dịch ra ít nhất 3 thứ tiếng, là tài liệu nghiên cứu, giảng dạy tại Havard, Stanford, Oxford

Phong cách sống - Nhật Linh - 23/06/2026 09:00
Không chỉ là cây bút lớn của văn học Việt Nam hiện đại, nhà văn này còn là tác giả sở hữu tác phẩm có sức sống vượt ra khỏi biên giới quốc gia.

 'Để hiểu một người' - Chúng ta đang sống trong thời đại khủng hoảng kết nối 

Từ sách - Phim - TĐ - 23/06/2026 08:00
Thứ chúng ta cần nhất là các mối quan hệ, và thứ mà chúng ta xử lý vụng về nhất dường như cũng là các mối quan hệ.

Tính toán mây

Blog GS John VU - GS John Vu - 22/06/2026 12:00
Một người quản lí hỏi: “Tác động của tính toán mây là gì? Công ti tôi được coi như dùng dịch vụ tính toán mây từ Microsoft. Điều gì sẽ xảy ra cho những người làm việc trong nhóm công nghệ thông tin hỗ trợ cho công ti?”

Thất nghiệp đừng vội hoảng: 5 kỹ năng "hái ra tiền" tự học miễn phí giúp bạn lật ngược thế cờ

Kỹ năng - Kiều Dương - 22/06/2026 11:00
Thay vì lo âu khi CV gửi đi chưa có phản hồi, hãy tận dụng khoảng thời gian này để trang bị 5 kỹ năng hữu ích hoàn toàn miễn phí trên mạng.

Tỷ phú Elon Musk và 5 lời khuyên: Chỉ cần làm được 1 điều, cơ hội thành công sẽ tăng vọt

Suy ngẫm - Phương Anh - 22/06/2026 10:00
Vị tỷ phú này cho rằng, để đạt được thành công, mỗi người cần phải mạnh mẽ và nỗ lực thực hiện những điều sau.

Câu chuyện đằng sau tấm ảnh sét đánh đỉnh Landmark 81 thu hút "bão like"

Phong cách sống - Vũ Thanh Bình - 22/06/2026 09:00
Sau 7 năm theo dõi hiện tượng giông sét, tác giả bức ảnh đã ghi lại được khoảnh khắc sét đánh trúng đỉnh tòa nhà Landmark 81 trong cơn mưa lớn tại TPHCM.

Biến tiềm năng thành tài năng - Chúng ta đang sống trong một nền văn hóa tôn thờ tài năng thiên bẩm

Từ sách - Phim - TĐ - 22/06/2026 08:00
 Adam Grant cho rằng tiềm năng không nằm ở nơi bạn bắt đầu, mà nằm ở quãng đường bạn có thể đi được.
HẠT GIỐNG TÂM HỒN
2019 Bản quyền thuộc về hatgiongtamhon.com.vn. Phát triển bởi ONECMS