Subscribe by Email

Monday, February 4, 2013

How are unit and integration testing done in EiffelStudio?

- Eiffelstudio provides a development environment that is complete and well integrated.
- This environment is ideal for performing unit testing and integration testing. 
- Eiffelstudio lets you create software systems and applications that are scalable, robust and of course fast. 
- With Eiffelstudio, you can model your application just the way you want. 
Eiffelstudio has effective tools for capturing your thought process as well as the requirements. 
- Once you are ready to follow your design, you can start building up on the model that you have already created. 
- The creation and implementation of the models both can be done through Eiffelstudio. 
- There is no need of keeping one thing out and starting over. 
- Further, you do not need any other external tools to go back and make modifications to the architecture. 
- Eiffelstudio provides all the tools. 
- Eiffelstudio provides round-trip engineering facility by default in addition to productivity and test metrics tools.
Eiffel studio provides the facility for integration testing through its component called the eiffelstudio auto test. 
- Sophisticated unit tests and integration testing suites might be developed by the software developers that might be quite simple in their build. 
- With eiffelstudio auto test the Eiffel class code can be executed and tested by the developer at the feature level. 
- At this level, the testing is considered to be the unit testing. 
- However, if the code is executed and tested for the entire class systems, then the testing is considered as the integration testing.
- Executing this code leads to the execution of contracts of attributes and features that have already been executed. 
- Eiffelstudio auto test also serves as a means for implementing the tests as well as assumptions made regarding the design as per the conditions of the contract. 
- Therefore, there is no need of re-testing the things that have been given as specification in class texts contracts by unit and integration testing through some sort of test oracles or assertions.

- Eiffelstudio auto test lays out three methods for creating the test cases for unit and integration testing:
  1. A test class is created by the auto test for the tests that have been manually created. This test class contains the test framework. So the user only needs to input the code for the test.
  2. The second method for the creation of the tests is based up on the failure of the application during its run time. Such a test is known as the ‘extracted’. Whenever an unexpected failure occurs during the run time of the system under test, the auto test works up on the info provided by the debugger in order to produce a new test case. The calls and the states that cause the system to fail are reproduced by this test. After fixing the failure, the extracted tests are then added to the complete suite as a thing that would avoid the recurrence of the problem.
  3. The third method involves production of tests known as generated tests. For this the user needs to provide the classes for which tests are required and plus some additional info that auto test might require to control the generation of the tests. The routines of the target classes are then called by the tool using arguments values that have been randomized. A single new test is created that reproduces the call that caused the failure whenever there is a violation of a class invariant or some post condition.

No comments:

Facebook activity