User Acceptance Testing occurs just before the software is released to the customer. The end-users along with the developers perform the User Acceptance Testing with a certain set of test cases and typical scenarios.
Installation testing is often the most under tested area in testing. this type of testing is performed to ensure that all installed features and options function properly. It is also performed to verify that all necessary components of the application are, indeed, installed. Installation testing should take care of the following points:
- To check if while installing product checks for the dependent software/patches.
- The product should check for the version of the same product on the target machine, say the previous should not be over installed on the newer version.
- Installer should give a default installation path.
- Installation should allow user to install at location other than the default installation path.
- Check if the product can be installed "Over the Network".
- Installation should start automatically when the CD is inserted.
- Installer should give the Remove/Repair options.
- When uninstalling, check that all the registry keys, files, DLL, shortcuts, activeX components are removed from the system.
- Try to install the software without administrative privileges.
- Try installing on different operating system.
- Try installing on system having non-compliant configuration such as less memory/RAM/HDD.
Saturday, October 30, 2010
Validation phase - User Acceptance Testing and Installation Testing
Posted by
Sunflower
at
10/30/2010 03:19:00 PM
0
comments
Labels: Customer, Developers, Features, Installation, Installation testing, Phases, Product, Quality, Software testing, Test cases, User Acceptance testing, Users, Validation, Validation Phase
|
| Subscribe by Email |
|
Friday, October 29, 2010
Software Testing - Validation Phase - Alpha Testing
A software prototype stage when the software is first available for run. The software has the core functionalities in it but complete functionality is not aimed at. It would be able to accept inputs and give outputs. Usually, the most used functionalities are developed more. This test is conducted at the developer's site only. In a software development life cycle, depending on the functionalities, the number of alpha phases required are laid down in the project plan itself.
During this, the testing is not a through one since only the prototype of the software is available. The basic installation and un-installation tests and the completed core functionalities are tested.
The aim of alpha testing is :
- to identify any serious errors.
- to judge if the intended functionalities are implemented.
- to provide to the customer the feel of the software.
A thorough understanding of the product is done now. During this phase, the test plan and test cases for the beta phase which is the next stage is created. The errors reported are documented internally for the testers and developers reference. No issues are usually reported and recorded in any of the defect management or bug trackers.
The role of the test lead is to understand the system requirements completely and to initiate the preparation of test plan for the beta phase. The role of the tester is to provide input while there is still time to make significant changes as the design evolves and to report errors to developers.
Posted by
Sunflower
at
10/29/2010 10:42:00 AM
0
comments
Labels: Aim, Alpha, Alpha testing, Applications, Defects, Errors, Functionality, Goals, Inputs, Outputs, Phases, Quality, Software, Software testing, Validation, Validation Phase
|
| Subscribe by Email |
|
Thursday, October 28, 2010
Validation Phase - System Testing - Regression Testing
The process of regression testing is simple i.e the test cases that have been prepared can be used and the expected results are also known. If the process is not automated it can be very time consuming and tedious operation. Some of the tools that are available for regression testing are:
- Record and Playback tools - In this, the previously executed scripts can be re-run to verify whether the same set of results are obtained. e.g. Rational Robot.
The end goals of regression testing are :
- to ensure that the unchanged system segments function properly.
- to ensure that the previously prepared manual procedures remain correct after the changes have been made to the application system.
- to verify that the data dictionary of data elements that have been changed is correct.
Most of the time the testing team is asked to check the last minute changes in the code just before making a release to the client, in this situation the testing team needs to check only the affected areas.
In short, regression testing should get the input from the development team about the nature and amount of change in the fix so that the testing team can first check the fix and then the affected areas.
Regression testing is the testing in which maximum automation can be done. The reason being the same set of test cases will be run on different builds multiple times. But then, the extent of automation depends on whether the test cases will remain applicable over the time. In case, the automated test cases do not remain applicable for some amount of time then test engineers will end up in wasting time to automate and don not get enough out of automation.
Posted by
Sunflower
at
10/28/2010 12:40:00 PM
0
comments
Labels: Application, Defects, Errors, Goals, Phases, Regression, Regression Testing, Results, Software testing, System, System Testing, Test cases, Tests, Validate, Validation, Validation Phase
|
| Subscribe by Email |
|
Wednesday, October 27, 2010
Validation Phase - System Testing - Regression Testing
Regression testing is used to test or check the effect of changes that are made in the code. Most of the time the testing team is asked to check last minute changes in the code just before making a release to the client. In this situation, the testing team needs to check only the affected areas. In short, for regression testing, the testing team should get the input from the development team about the nature or amount of change in the fix so that the testing team can first check the fix and then the side effects of the fix.
Regression testing is the testing in which maximum automation can be done. The reason being the same set of test cases will be run on different builds multiple times. But, the extent of automation depends on whether the test cases will remain applicable for some amount of time, test engineers will end up in wasting time to automate with minimal results.
Regression testing is re-testing unchanged segments of application. It involves re-running tests that have been previously executed to ensure that the same results can be achieved currently as were achieved when the segment was last tested. The selective re-testing of a software system that has been modified to ensure that any bugs have been fixed and that no other previously working functions have failed as a result of newly added features have not created problems with previous versions of the software.
Regression testing is initiated after a programmer has attempted to fix a recognized problem or has added source code to a program that may have inadvertently introduced errors. It is a kind of quality control measure to ensure that the newly modified code still complies with its specified requirements and that unmodified code has not been affected by the maintenance activity.
During regression testing, following activities are performed:
- Re-running of previously conducted tests.
- Reviewing previously prepared manual procedures.
- Comparing the current test results with the previously executed test results.
Posted by
Sunflower
at
10/27/2010 11:37:00 AM
0
comments
Labels: Automate, Changes, Code, Defects, Effective, Errors, Modifications, Phases, Quality, Regression, Regression Testing, System Testing, Validation, Validation Phase
|
| Subscribe by Email |
|
Tuesday, October 26, 2010
Validation Phase - System Testing - Content Management Testing
Content Management has gained a predominant importance after the web applications took a major part of our lives. As the name denotes, content management is managing the content. Content Management Testing involves :
- Testing the distribution of the content.
- Request, Response Time.
- Content display on various browsers and operating systems.
- Load distribution on the servers.
In fact all the performance related testing should be performed for each version of the web application which uses the content management servers.
Example: You want to open the Yahoo! in Chinese version. When you choose Chinese version on the main page of yahoo! to get to see the entire content in chinese. Yahoo! would strategically plan and have various servers for various languages. When you choose a particular version of the page, the request is re-directed to the server which manages the Chinese content page. The Content Management System helps in placing content for various purposes and also help in displaying when the request comes in.
Posted by
Sunflower
at
10/26/2010 02:45:00 PM
0
comments
Labels: Applications, Content Management System, Content Management Testing, Contents, Phases, Quality, Software testing, Validation, Validation Phase, Web Applications
|
| Subscribe by Email |
|
Monday, October 25, 2010
Validation phase - System Testing - Performance Testing - Capacity Planning - Stress Testing
Stress testing is another term that is used for performance testing. Though, load and stress testing are used synonymously for performance related efforts, their goal is different.
Unlike load testing, where testing is conducted for specified number of users, stress testing is conducted for the number of concurrent users beyond the specified limit. The objective is to identify the maximum number of users the system can handle before breaking down or degrading drastically. Since the aim is to put more stress on system. Think time of the user is ignored and the system is exposed to excess load.
The goals of stress testing are:
- It is the testing beyond the anticipated user base.
- It identifies the maximum load a system can handle.
- It checks whether the system degrades gracefully or crashes at a shot.
Stress testing also determines the behavior of the system as user base increases. Let us take an example of online shopping application to illustrate the objective of stress testing. It determines the maximum number of concurrent users an online system can service which can be beyond 1000 users. However there is a possibility that the maximum load that can be handled by the system may found to be same as anticipated limit.
The inference drawn from stress testing are:
- Whether the system is available or not?
- If yes, is the available system stable?
- If yes, is it moving towards unstable state?
- When is the system going to break down or degrade drastically?
Posted by
Sunflower
at
10/25/2010 11:52:00 AM
0
comments
Labels: Goals, Inference, Objectives, Performance, Performance testing, Phases, Stress testing, System Testing, Users, Validation, Validation Phase
|
| Subscribe by Email |
|
Sunday, October 24, 2010
Validation phase - System Testing - Performance Testing - Capacity Planning - Load testing
Load testing is much used industry term for the effort of performance testing. Here, load means the number of users or the traffic for the system. Load testing is defined as the testing to determine whether the system is capable of handling anticipated number of users or not.
In load testing, the virtual users are simulated to exhibit the real user behavior as much as possible. Even the user think time such as how users will take time to think before inputting data will also be emulated. It is carried out to justify whether the system is performing well for the specified limit of load.
Goals of Load Testing:
- Testing for anticipated user base.
- Validates whether the system is capable of handling load under specified limit.
The objective of load testing is to check whether the system can perform well for specified load. The system may be capable of accommodating more than say 1000 concurrent users. But, validating that is not under the scope of load testing. No attempt is made to determine how many more concurrent users the system is capable of servicing.
The inference drawn from load testing is :
- Whether the system is available?
- If yes, is the available system stable?
Posted by
Sunflower
at
10/24/2010 04:40:00 PM
0
comments
Labels: Applications, Effort, Goals, Inference, Load Testing, Objectives, Performance, Performance testing, Phases, System Testing, Users, Validate, Validation, Validation Phase
|
| Subscribe by Email |
|