Thursday, August 2, 2012

Test Case Development

Today’s organizations rely heavily on information technology (IT) systems and are exposed to every kind of information flooding into the business world. Besides, there are reports of faulty systems and their associated problems, resulting in inconvenience, misinformation, loss of information etc. Like any other service or commodity used by us, the importance of quality is beyond question and software quality is no exception and needs to be addressed seriously. Software failures can be dangerous, costly and sometimes even result in loss of lives. Therefore, software development should always be accompanied by comprehensive & thorough testing to detect software failures and prevent faults from flowing through the final production system. In order to do an effective testing, an effective test case lays a very good foundation

Image Credit : Google


A test case is a set of conditions or variables under which a tester will determine whether an application or software system is working correctly or not. The mechanism for determining whether a software program or system has passed or failed such a test is known as a test result. A test case is usually a single step, or occasionally a sequence of steps, to test the correct behavior/functionalities, features of an application. An expected result or expected outcome is usually given.

A test case is developed at a minimum for each business case from a functional viewpoint. There may be one or more uses cases per requirement.  There may be a need to write test cases for non-functional requirements. In effect one requirement may have many test cases, which map to it. A top down approach will be used in the development of test cases.

Additional information that may be included in while creating a test case document are:

  • Test Case Identifier

  • Test Case Name

  • Priority

  • Creator

  • Date of creation

  • Mapping to Requirement Number

  • Test Type (Regression / BVT/ Deployment / Installation etc)

  • Automation Flag

  • Test Script ID

  • Overview, Scope and Objective of Test Case

  • Pre-requisites

  • Test Case Steps

  • Input Specifications

  • Expected Result and Actual Result.

  • Pass/fail

  • Remarks

These steps can be stored in a word document, excel spreadsheet, database or tools such as Quality Center etc. A Important and commonly missed test cases are the conditions of negative testing. This is to determine that end users, cannot compromise applications and data that are created and handled by the applications. Functionality testing is designed to ensure that  applications do what they are supposed  to  do,  whereas  the  purpose  of  negative  testing  is  to  check  that applications do not do what they are not supposed to do.

To conclude, a test Case documents the functionality to be tested. The most time consuming part in the test case is creating the test data to test the case and modifying the cases when the system changes. Once the tests are done by testers, end-users or clients of the system test their own test case to ensure the developed system meets the requirements specified in the contract. The testers understanding of the system/business and proper documentation/testing of positive/negative test cases will result in a WIN WIN situation for all the stakeholders. .

3 comments:

  1. You have posted one typical kind of test case format as I think, because most of the product base companies like to mention Priority and Severity along with the the area for which test case is written, so that traceability work run smoothly.

    Please mend me if i am missing something

    ReplyDelete
  2. yes you are correct. Test cases are customized based on each project requirements.
    We use priority and severity as columns based on our discussions with business team and sometimes based on severity of project.

    ReplyDelete
  3. Thanks Amar, Could you let me know how we write test cases based on severity because most of the time we talk about the priority in every and any context based project.
    Might be i would be missing some thing but i am pretty sure that we write test case in every context keeping priority in mind

    ReplyDelete