Test harness is a rarely heard concept
in the field of software testing.
What is a Test Harness?
- A test harness is known by other name “automated
test framework”.
- A test harness can be defined simply as a collection of test
data and softwares that have been configured in order to test a unit of a
software program.
- The program is run under various conditions.
- Under each
condition the behavior as well as working of the program is observed and the
outcomes are reported.
Phases of Test Harness Process
The whole process of test harness is completed in two
individual phases:
1.
Test execution engine and
2.
Test script repository
How is Test Harness carried out?
- Test harness process cannot be carried
out without the automation of the tests.
- The automated tests than can
themselves call the concerned functions with the required parameters and
execute them.
- The actual results are then compared to the expected results.
- The
process of test harness acts as a hook for the already developed code which is
highly testable and can be checked out using an automation framework or test
harness.
What should a Test Harness do?
The below mentioned are the
things that a test harness must do:
1. Run specific tests in order to allow optimization.
2. Orchestrate an environment during the run time.
3. Analyze the results
Certain objectives have been defined
for a test harness:
1. Automation of the whole testing process.
2. Execution of the specified test cases.
3. Report the outcomes.
Advantages of a Test Harness
Test harness is quite an advantageous
process and some of its advantages have been stated below:
1. It increases productivity by automating the whole test
process.
2. It increases the probability of the occurrence of the
regression testing.
3. It increases the quality of the components of the software
system and application.
4. It helps ensure the similarity of the subsequent as well as
the previous test cases.
5. It helps in running the tests at any time whenever the
testing staff is not available.
6. It effectively executes the test scripts including the
conditions that are otherwise unexecutable since they are difficult to be simulated.
How Test Harness facilitate testing at Integration level?
- Test harness has also been developed
to facilitate the testing at the integration level i.e., the integration
testing.
- The test stubs tested by a test harness are components of an
application that is currently under development and during testing they are
replaced by the working components of the developed application in the top down
design.
- Test harness serves as an external aid to the software system or
application under testing by simulating functionalities and features which are
not present in the immediate test environment.
- In other words, the test harness
helps in providing substitutes in case any functionality is found to be missing
during the test.
- The same test harness when kept outside from the source code
of the software system or application, it can be used for multiple projects
again and again.
- It forms a deliverable part of the project.
- The test harness
is not provided with any knowledge of test cases, test suites and test reports
since it has the capability of simulating the functionality.
- The information
on these aspects is fed to the test harness via associated automated testing
tools and a testing framework.
- A test harness can also have a graphical user
interface for the ease of operation, logging and scripting of the test cases.
- A
new test harness is written for each run time and language since it becomes
very much difficult to write a test harness which will work across all the
languages and run times.
- Test harness
generates the application which is required to run the tests by providing the
required code, files, and test cases and so on.
No comments:
Post a Comment