The software development life cycle (SDLC) is composed of various stages. Software testing is one of the most essential stages. There are different testing types and they are useful at different stages of the software development cycle. The testing spans over all the stages in the SDLC. In addition, all the different versions of the software have to be tested before they are delivered to either the costumer or the target market.
One variety is software for web applications. With the advent of the Internet web software has significantly increased in importance, as the Internet has had a substantial impact on our daily lives. Because of the high impact Internet has on our daily lives any web software is carefully tested before launching in order to reduce the associated security risks that originate from the use of the Internet.
Even though the testing of web software is vital, there is at all times rush in building and testing those application due to time constraints. In the design and development stages, testing engineers utilize different groups or types of tests such as code testing, [load testing], compatibility testing, functional testing and regression testing.
The web software is usually released by means of a model of software release known as alpha/beta testing.The first stage or alpha testing takes place at the developers' site where either potential users/customers or a purposely created indepent test team will interact with a simulated or actual operational version of the software being tested. Because during alpha testing the software is actually still being developed only small modules of the software are tested during this stage.Alpha testing is often used for ready to use software as a type of in-house acceptance testing. After being alpha tested software will only be released when all the main functional sections have been both coded and tested.
After the alpha testing stage is finished, the software advances to the beta phase of testing. The web software should be fully completed by now. The software is released to a restricted number of users for testing before it is officially released. The alpha/beta testing method is not the standard procedure when testing web site design. This imply that it is possible to build and test one page at a time and later go to the next one with independent testing for each one.
Code testing refers to the process where the testing or development engineer verifies the code and make sure that there are no software bugs. Because the time involved in web development is small it is important that the software is free of bugs. A popular method used by experienced programmers for bug free coding is the paired-programming.
The Paired programming is a method in software development where two programmers work simultaneously at one keyboard. The driver types in the code while the observer or navigator reviews each line. The judgment behind taking up this method is the following. The Economist proclaims that, "Laurie Williams of the University of Utah in Salt Lake City has shown that paired programmers are only 15% slower than two independent individual programmers, but produce 15% fewer bugs.”
As the development process continues the software is tested repeatedly. By the time it's finally released the software is free of bugs. Load testing is used to check if a web-site/application will fail or loss performance under the added pressure of heavy loads or imputs from multiple users log-in, mail servers, etc. This type of testing will help to arrive at statistics such as how many users the site will sustain at the same time, the quantity of communication it will hold and the reaction time under various circumstances.
The testing done to estimate the compatibility of the application with the different interacting hardware of software is the Compatibility testing. This method tests how good the software is in interactions with operating system, peripherals, database, browser etc. It also tests the computing capacity of the hardware platform and the peripherals.
Functional testing asses the alignment between the application and its specifications checking that it provides all the required functions. To do that an extense range of both normal and erronous data will be imput to validate the behaviour caused by each of the software features The Regression testing the type of testing done to make sure that improvement, defect corrections or any additional changes to the software has not broken down any existing functionality.
Regression [testing] is very important whenever there’s iterative development of software. Iterative software development is a method in which new functionality is added to existing software. In this case one should make sure that the new addition has not affected any of the existing functionality. Regression testing is done to find out any of such instances. The above mentioned methods are essential tests to complete the web software testing.
No comments:
Post a Comment