D5 of 30 Days' ISTQB: Test Conditions, Test Cases, and Test Procedures

Let's look at dynamic testing, where the software we are interested in is run by executing tests on the running code.

Before we actually execute a test, we need to know what I are trying to test, the inputs, the results that should be produced by those input, how we get ready for and run the tests. In this section, we are looking at three things: Test Conditions, Test Cases, and Test Procedures.

Test Conditions are documented in a Test Design Specification. Test Cases are documented in a Test Case Specification. Test Procedures are documented in a Test Procedure Specification. Testing may be performed with varying degrees of formality. Very formal testing would have extensive documents under well control, exact and specific input and expected outcome of the test. Very informal testing may have no document at all, or only some notes kept by the individual testers, but we still expect that they have in their mind or notes some idea of what they are intended to test and the expected outcome of the test. Most people are somewhere in between. The right level of formality depends on your context: a commercial safety-critical application should be at a high level of formality, whilst a one-off application which might be only used by a few people for a short time obviously doesn't need a very high level of formality.

Test analysis: Identifying test conditions
Test analysis is the process of looking at something that can be used to derive test information. It is called "test basis", and could be a system requirement, a technique specification, the code itselt(for structural testing), or a business process. Sometimes tests can be based on an experienced user's knowledge of the system, which could not be documented. We are looking at test basis in order to see what could be tested--these are test conditions. A test condition is simply something that we could test. 

Test design: specifying test cases
Test conditions can be rather vauge,covering quite a large range of possibilities, or a test condition may be more specific. However, when we come to a test case, we are required to be very specific. We need to write down clear every input, step by step scenarios, and expected results for each step. In a test condition, we can use something like "enter a name with valid data", but in it's test case, we must point out a specific name like"Erroll Shand".

Test implementation: specifying test procedures or scripts
When we execute testing, we normally execute a set of tests which are all related to a given functionality or feature, in a particular sequence. These tests need to be testes in correct order, or they won't test what they are meant to test. The document that describes the steps to be taken in running a set of tests is called a test procedure.


0 comments:

Post a Comment