Types of Software Testing
Having discussed the basic dichotomy of white box is testing and black box testing; let us have a look at the classification of testing based on the stage of the SDLC that tackles it.
(a) Unit test: as the name indicates, that is performed at the basic denomination of the software (a single program). Once the program is completely written, the developer would like to test it as a unit (hence the name 'Unit Test') before he passes it on to his project manager/leader for integration in the full-fledged software.
Unit tests look at the core functionality expected of that program, but it lacks the interaction with other programs in as much as it is stand alone at that point in time.
Unit test could be performed in a white box mode and if the program could be run without the help of other programs (in standalone mode as stated earlier) even a black box mode is also possible.
(b) Integration test: once multiple programs are developed and unit tested, their handshakes should come under the lens and that is precisely what the integration test aims at.
Though individually the program might work well, in real life they have to work as a homogeneous system. Unless their interfaces are in harmony with each other and contribute to the system goal, the software cannot work as per expectations. This is because of the modular nature of software that is seldom built as a monolith single unit.
(c) System test
This is the culminating step of the testing that started with the Unit Test and wen on through the integration test. In systems testing, the entire software (as it would be delivered to the users) is subjected to the testing. Here the emphasis is more on the overall system objectives and the functionality from the users' standpoint.
(d) Regression test: this is one of the more complicated types of tests and we need to look into it necessity before discussing about how it takes place.
The moments the developers roll out the software and users take up implementation, the software needs numerous rounds of modification. This is due to two factors:
1. The real life changes in the business environment make it essential that the software adapts to those changes which include constitutional changes in the products, altered procedures of business partners, variations in tax rates and pricing policy, etc.
2. Despite rigorous tests, the software may still contain some bugs - need not always be a technical problem, even the behavioral issues like, say, communication gaps in requirements collection could be root cause - thereby necessitating some modifications.
Now we come to the intriguing issue of software which has a cascading effect of the modified module onto modules that are expected to be consistent. This is highly possible due to the inter-dependent nature of software modules.
To avoid it, the regression test is performed on those un-changed modules to ensure that they work as per their erstwhile functionality. There are suit of test transactions (called test buckets) that are used for this purpose. An example would make it clear.
Suppose you modified a savings bank module in a banking system. What you could do for your regression test is that the other modules of current deposit and fixed deposit would be tested for their consistency by firing their respective test buckets. Services: - Testing Types Homework | Testing Types Homework Help | Testing Types Homework Help Services | Live Testing Types Homework Help | Testing Types Homework Tutors | Online Testing Types Homework Help | Testing Types Tutors | Online Testing Types Tutors | Testing Types Homework Services | Testing Types
Software Engineering Assignment Help - Homework Help
Expertsmind.com offers help with software engineering homework and assignments, software engineering assessments and problems solutions, review software products and assessments, report writing help, help with software engineering projects and questions from online software engineering tutor's help. We offer email based homework help and assignment help for software engineering subject and topics. Get solved software engineering assessments and problems from qualified and experienced computer science experts at Expertsmind.com.
Related Links: Computer Science Engineering Help, Computer Science Assignment Help, Software Engineering Homework Help,Software Engineering Assignment Help