Re: About testable assertion

Hi Jungkee,  

On Monday, 16 July 2012 at 14:12, 송정기 wrote:

> Hi all,
> Thanks everyone for good discussion in F2F last week.
> I have one question about testable assertions we discussed at the second day of the meeting.
> We came to understand that, in writing a spec, testable assertions help test case developers to make test cases easier.
> However, while reviewing "A Method for Writing Testable Conformance Requirements" spec (, I found the following description about testable assertions:
> "A test case is a machine processable object that is used to test one or more conformance requirements. A testable assertion, on the other hand, is a prose description of a test case intended for human testers - i.e., for a given test case, testable assertion defines exactly what the user agent needs to do (behaviorally or conditionally) to pass the test case. *It is important to note that testable assertions don’t appear in a specification* - they only appear in a test suite to describe a test case."
> Since it had been discussed in the meeting, I would like to hear some opinions about this. ;)
Sorry the terminology can be a bit confusing. A specification's primary purpose is to list the "conformance requirements" (i.e., the MUSTs, SHOULDs, etc.). Each conformance requirement will then have a number of testable assertions. For example, given the following conformance requirement:

"If the document is missing a foo, then user agent MUST add a bar at the end of the document."  

You could create the following testable assertions:  
 1. test to see if the bar is added to end of the document when foo is missing.  
 2. test to see if the bar is not added when there is a foo.  
 3. test to make sure that two bar are not added when one one bar already.  

and so on… then each testable assertion becomes a real test in whatever you are testing.  

Marcos Caceres

Received on Monday, 16 July 2012 13:38:50 UTC