IMPLEMENTATION AND TESTING OF SOFTWARES
27-08-2010, 03:15 PM (This post was last modified: 27-08-2010 03:19 PM by midhunmenonp.)
IMPLEMENTATION AND TESTING OF SOFTWARES
Implementation is the stage of the project when the theoretical design is turned into a working system. It is the most crucial stage in achieving a successful new system and in giving the users confidence that the new system will work and be effective. It involves planning, investigation of the current system and its constraints on implementation, design of methods to achieve the changeover, training of staff in the changeover produces and in the new system procedures and evolution of changeover methods.
Training is essential for the people who will be involved to be confident of their role in the new system. This involves then in understanding the overall system and its effect on the organization and in being able to carry out effectively their specific tasks. As the system becomes more complex, the need for education and training is more important. Conversion is the process of changing from the old system to the new one, that is putting the tested system into operation by creating computer compatible files, installing terminals and hardware etc. a post-implementation review is conducted after the system is implemented and the conversion is completed to determine whether the system meets the expectation and requirements of the user and to ascertain whether further improvements are needed. The post-implementation review is a valuable source of information for maintenance requirements. In the present project, trial transactions were made and tested for all the aspects mentioned above. To review the performance of the system, a walkthrough was also conducted. Any hardware or software failure makes retrieval of vital information impossible. To prevent incident back up of software as well as data are to be maintained. Software maintenance covers wide range of activities including corrective code and design errors, updating documentation and test date and upgrading user supports.
Testing is a quality assurance activity and represents the ultimate review of specification, design and coding, in testing phase, a system or component is executed under specified conditions, results are observed or recorded and an evaluation is made about some aspects of the system or component. Testing requires that the developer discard preconceived notions of the “correctness” of the software just developed and overcome a conflict of interest that occurs when errors are uncovered.
The testing objectives are:
. Testing is a process of executing a program with the intent of finding an error.
. A good test case is one that has a high probability of finding an as yet undiscovered error.
. A successful test is one that uncovers an as yet undiscovered error
A system is tested for response volume of transaction stress, recovery from failure and usability. Testing demonstrates that the software is working according to the specification and that it meets the performance requirements.
Test case design
The test case design for software should be done in such a way that the errors can be found out with a minimum amount of time and effort. A test case is a set of data that the system will process as normal as input. Mainly there are two methods for the test case design – Black box Testing and White box Testing.
Black box testing method focuses on the functional requirements of the software. It attempts to find out the errors of the following categories – incorrect and missing functions, interface errors, errors in data structures or external database access, performance errors and initialization and termination errors. White box testing, which is also called path testing, is a test case design method that uses the control structure of the procedural design to derive test cases. It is predicated on a close examination of procedural design. Logical paths through which the software is tested by providing test cases that exercise specific sets of conditions and/ or loops.
In the case of the present project, both the White box testing and the Black box testing were conducted successfully. The functionality of the software is also tested. All loops and conditional statements of the software were executed correctly within their operational bounds. Test cases which will result in the execution of every instruction in the modules where developed. All the transaction paths were tested to identify and correct the errors occurred.
Mainly there are two levels of testing, namely Unit testing and Integration Testing. Unit testing, which is also called Program Testing is a process of testing the program modules individually. In program testing, a single program module is examined independently in an isolated environment to locate errors. White box testing method is commonly used in Unit testing to ensure complete convergence and maximum error detection in a module’s control structure. Each module in the present project is tested individually.
Integration testing is a systematic testing technique for constructing the program structure, while at the same time conducting tests to uncover errors associated with interfacing. The objective of integration testing is to take unit-tested modules and build a program structure that has been dictated by design. There are two types of integration viz. non-incremental integration and incremental integration. In Non-incremental integration, all modules are combined in advance and the entire program is tested as a whole. Correction of errors is difficult in this case, because the isolation of causes is completed by the vast expanse of the entire program. In Incremental integration, the program is constructed and tested in small segments, where errors are easier to isolate and correct, interfaces are more likely to be tested completely and a systematic test approach may be applied. Interface testing has been conducted to make the application free of any interface errors that might have occurred during the transaction of data.
After the integration testing, software is completely assembled as a package, interface errors have been corrected and a final series of software testing called Validation testing is conducted. Information contained in the validation criteria section of the SRS Document forms the basis for the validation testing approach. A series of validation tests were conducted on the preset project.
Most software product builders use a testing called Alpha and Beta testing to uncover errors that only the end user seems able to find Beta test is a live application of the software in an environment that can’t be controlled by the developer. The customer records all the problems that are encountered during the beta testing and reports these to the developer at regular intervals. As a result of problems reported during beta test, the software developer makes modification and then prepares for release of the software product. Both alpha and beta testing were conducted on the present project.
At the end of the testing phase, Recovery testing is carried out. Recovery testing is a system test that focuses on the forces which makes the software to fail in a variety of ways and verifies that whether recovery is properly performed or not. It helps to ensure that changes will not introduce unintended behavior or additional errors and the component still compiles with its specified requirements.
After the testing and validation processes, the present project was found to be excellent, all requirements specified in the analysis and design phases were met and the performance of the software is better than the existing manual system.
System testing was performed to verify that all system elements have been properly integrated and perform allocated function. Security testing was done to check the security mechanisms built into the system, which will protect it from improper penetration, performance testing was done to test the runtime performance of the software. For user acceptance testing, the system was given to the end user to use. The errors found are rectified.