There are various phases in software development life cycle (SDLC). Software performance testing is one of the significant phases within the software development cycle (SDCL). Different types of testing are employed in each phase beginning with development till it reaches the market. From the initial development of the application until it reaches the maketing phase different testing types will be used. The software itself also comes in different varieties, which all require testing before they’re released on the market.
Software for web applications is one type of software. 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.
While web software testing is important, there’s always a rush in developing and testing it.There are different methods that the test engineers use to test this software. They are code testing, [load testing], compatibility testing, functional testing and regression testing.
The web software is usually released using a pattern of software release known as alpha/beta testing.This is a simulated or actual operational test conducted by potential users or an independent test team at the developers' site. The software is incomplete at this point and testing is done only for small modules of the software. Alpha testing is frequently employed for off-the-shelf software as a method of internal 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. In case of website design it is easy to put together the various pages as the website design uses HTML. So the alpha/beta technique is generally not used for website development. This means they can build and test one page at a time. After completion they can move onto the next one, with each page independent of each other.
In code testing the software testing or development engineer examines the codes for software bugs. Web development is a very rapid process so the abscence of bugs is required. A popular method used by experienced programmers for bug free coding is the paired-programming.
Two coders working at a single workstation it is at the core of paired programming. One programmer types in the code when the other person observes and reviews each line at the same time. 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.”
The testing process continues through out the software development cycle so that at the time of final release it 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. Load testing will provide information regarding the amount of users that could connect simustaneosly to a site, the number of transactions that the system can cope at the same time and its responsiveness under different circumstances or amount of traffic.
Compatibility testing needs to be carried out to asses the software compatibility with the software and hardware that it may interact with. This includes testing compatibility with operating systems, database, browsers, peripherals and backwards compatibility.
The testing used to validate the conformance to specifications and requirements is the Functional testing. This testing involves performing a sequence of tests to validate the behavior of the software, feature by feature using a large number of normal and abnormal data. Regression testing is carried out to check that any changes made to the code in order to enhance it or to fix defects has not affected any functionality.
When interative methodology is used to develop software regression testing is crucial. In iterative programming, new modules are added to the core module to increase the functionality provided by the application, this needs to be done with the certainty that the added module does not affect the original functionality of the running module. 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