The testing of software starts as soon as the development of software starts. There are various stages/ levels of testing of software during the development phase. These are as follows.
Unit testing – tests the minimal software component or module Integration testing – Checks for any defects in the interfaces and interaction between integrated modules System testing – Tests the integrated system to verify functional requirement System integration testing - verifies whether the system is integrated properly to any external or third party systems defined in the system requirements Learn more about: Security testing Services Once these levels of testing are completed, the software requires undergoing alpha and beta testing before shipment of final version of the software. Brief details are given below. Alpha testing - simulated or actual operational testing by potential users/customers or an independent test team at the developers' site. Alpha testing is often employed for off-the-shelf software as a form of internal acceptance testing. Beta testing – This comes after alpha testing. In this, the software is exposed to a limited number of people who are not a part of the programming team Finally, acceptance testing is done the by customer to decide on the acceptance of the product. At the time of alpha testing stage, it is not absolutely essential that all features are to be completed. However, the product must be ready to begin for testing. The name alpha testing has its origin in the Greek alphabet’s first letter alpha which obviously means the starting point of testing. This is the first step in making the software operational. At this stage, the product is expected to meet software requirements though it is incomplete. The initial stages of testing are done by software engineers who are developing the software; however, when the testing reaches the stage of alpha testing the job is assigned to software testers. At this stage the software is considered to be complete only by 35%. With a view to reduce the lead time for delivering the software to the customer, many companies hire outside customers or technicians to assist in the alpha testing phase. Because of this, more people are involved in testing which facilitates in-depth usability testing. Software testing services methods are traditionally divided into black box testing and white box testing. Recently grey box testing has also been added to this. Brief explanation for these is as follows. Black box testing treats the software as a black-box without any knowledge of internal behavior. It is meant to test the functionality as per requirements. In this, the tester enters the data and only sees the output from the test object. In white box testing, the tester has complete access to the internal data structures, code, and algorithms. The grey box testing involves having access to internal data structures and algorithms for purposes of designing the test cases, but testing at the user, or black-box level. These tests are conducted in the order white box testing, grey box testing and black box testing. When the testing moves to black box testing, it is known as the alpha release. Black box testing looks at the software from the user point of view whereas white box looks at from the developer point of view. Once the alpha testing stage of development is complete, the software is allowed to get into beta phase of testing. In this stage, the software is released to a limited number of users for software testing before its official release. During beta testing the users of the software are involved in testing for usability of the software because of which meaningful feedback can be got from the actual users. Any malfunctioning at this stage can be rectified by concerned developers. There is a possibility that beta software is unstable and could cause crashes or data loss. This is the first version of software that is released to the public for testing and is known as beta release. At this stage the software is 60% to 70% complete and is equipped with all features. However, there are bugs and user related issues not visible at the time of previous testing and these will be ironed out in this stage. One often comes across software labelled as "beta version 1.0". The consumers using these beta products and test the software are considered as beta testers. They are normally customers of the software company and are receiving the software free or at a reduced price in exchange for testing it. The proof of the pudding is in its eating; the quality of the software and its marketability is known only when beta testing takes place.
0 Comments
Leave a Reply. |
|