Friday, June 22, 2012
What are different types of smoke tests?
Posted by
Sunflower
at
6/22/2012 03:28:00 PM
0
comments
Labels: Application, Black box testing, Defects, Errors, Framework, Functional tests, Programs, Quality, Requirements, Scripts, Smoke Testing, Smoke tests, Software testing, Test cases, Testers, Tests, Types, Unit tests
![]() | Subscribe by Email |
|
Thursday, May 3, 2012
What are the requirements in a test driven development?
Posted by
Sunflower
at
5/03/2012 11:48:00 PM
0
comments
Labels: Approach, Automation, Code, Defects, Developers, Development, Errors, Methodology, Programmer, Re-factoring, Requirements, TDD, Techniques, Test Cycles, Test Driven Development, Tests, Top-down Approach, Unit tests
![]() | Subscribe by Email |
|
What is meant by test driven development (TDD)?
Concepts of Test Driven Development (TDD)
- First of all a failing automated test case is written or created by the developer or tester which serves the purpose of defining a new function or a desired improvement.
- Then a code to pass the above created test is also created by the developer.
- This newly written code is then refactored in order to make it meet the acceptable standards.
- Kent Beck is credited with the discovery of the test driven development process in the year of 2003.
- The test driven development was looked up as an encouragement for the simple designs and also as an inspiration for boosting up confidence levels.
- The test driven development has always been related to the concepts of the extreme programming which took its root in the year of 1999.
- But, eventually it came up as an individual process with its own ways and rights.
- The concepts of the test driven development are also employed by the programmers and developers as a measure for debugging the legacy code and improving it further.
- The test driven development is driven by a series of automated unit tests that are created by the developer for defining the requirements of the code and then automatically produce the code for them.
- These unit tests are comprised of assertions i.e., either true values or false values.
- Successful passing of a test confirms the developer of the correctness of the code and that it can be further evolved and re-factored.
- To run these automated test cases, the developers make use of the testing frame works.
Steps involved in Test Driven Development (TDD)
Addition of a Test:
The development begins with the creation of test cases for all the features. These test cases are often expected to fail since they have been created before the implementation of those features. If these test cases do not fail then either the test case is having some defect or the proposed new feature is already in existence. Before writing the test case, the developer is supposed to fully understand the specifications and requirements of the feature using the user stories and use cases etc. This is what that makes the test driven development different from other development methodologies.
Execution of all tests in order to check the working of the new one:
This step involves the validation of the test harness for its correct working. At this step this is also ensured that the new test is not passing without the requirement of some new code. The test itself is also tested in negative and the possibility that the newly added test will always pass out is reduced. The new test is also expected to fail because of the reason figured out.
Production of code:
This step involves the creation of some code implementing which the code can only pass the test and does not incorporates any new functionality.
Execution of the automated tests and observing their success.
Re-factoring of code:
This step involves the cleaning up of the code.
Repetition:
The whole cycle is repeated for the improvement of the functionalities.
- YAGNI
(you ain’t gonna need it)
- KISS
(keep it simple stupid) etc.
Posted by
Sunflower
at
5/03/2012 12:40:00 PM
0
comments
Labels: Code, Concepts, Defects, Errors, Features, Frameworks, Functionality, Re-factoring, Requirements, Software development, Standards, Steps, TDD, Test cases, Test Driven Development, Test Execution, Testers, Unit tests
![]() | Subscribe by Email |
|
Monday, April 16, 2012
What are automated unit tests?
Automated unit tests can be thought of as the basic tools with the help of which the unit testing is carried out on the individual modules of the software systems and applications.
Without these automated unit tests, one cannot think of carrying out unit testing since it takes up too much of time. These automated unit tests test the whole unit or the module along with the associated below mentioned things:
1. Its control data
2. Usage procedure
3. Operating procedures and so on.
Since the units or the modules form the smallest tokens of any software system or application, hence the unit testing forms the first step of any software testing life cycle.
What are automated unit tests?
- In procedural programming, these automated unit tests usually cover up the individual procedures or functions.
- In object oriented programming an automated unit test may cover an entire interface for example a class, individual method and so on.
- The automated unit tests are usually developed by the developers, programmers sometimes but more commonly they are created by the white box testers because they have so much of knowledge about that particular software system or application under test.
- They are created simultaneously with the software development process.
- All of the automated unit tests created for a software system or application are quite different from one another and they are assisted by a variety of separate elements like those mentioned below:
1. Method stubs
2. Mock objects
3. Fake objects
4. Test harnesses and so on.
- The above mentioned elements help the automated unit tests in testing a module in isolation.
- The automated unit tests though created by the white box testers, are executed by the software developers since testing this way ensures that all the specifications and the requirements of the software system or the application are fulfilled and the program executes in the desired direction.
- The concept of the automated unit tests came in to existence to formalize the implementation of the automated unit testing as a part of the build automation which would have been a hectic task if carried out manually.
- The automated unit tests are aimed at isolating each and every part of the program and check whether they are working properly or not.
- An automated test being strict provides a written contract that is to be satisfied by the piece of code for which it is meant.
Benefits of Automated Unit Tests
In simple words, we can say that it affords many simple benefits!
- Automated unit tests have been known for years to find problems earlier in a software development life cycle.
- Most of the agile software development methodologies like the scrum and the extreme programming (XP) involve the creation of these automated unit tests before the production of the actual code.
- Later the code is written and is run through the test.
- If it passes, then the code is declared to be error free.
- With these automated unit tests, the program code can still be refactored and checked again with the same automated unit test till the code is considered to be complete.
- These automated test cases facilitate the quick checking of all the functions and modules for quick identification and fixation of the problems if any encountered.
- These automated unit tests have a characteristic which is that they reflect the way in which the code is intended to execute.
- Depending up on the test coverage of these unit tests and development practices in use, the automated unit tests can be made more accurate.
- Apart from all this, the automated unit tests do a better job when it comes to the reduction of the uncertainty in the program.
Posted by
Sunflower
at
4/16/2012 11:30:00 PM
1 comments
Labels: Automated Unit tests, Automation, Benefits, Data, Errors, Functions, Modules, OOP, Requirements, SDLC, Software testing, Specifications, Tasks, Testers, Tools, Unit tests, White box testing
![]() | Subscribe by Email |
|