Tuesday, April 26, 2011

The Typical Structure Of Software Testing Process


Wholesale software development projects will continue as the team structure following

1) working group of owners: A team of high level in the hierarchy, which interacts directly with potential customers. He is responsible to fully understand customer needs and includes several features. Several members of this team can become owners of some of these features. Team members take the initiative because actively and interact with different teams play a key role in providing necessary guidance to develop the characteristics that they own.

2) User Interface Team: The user interface provides the user interface on the maps are extremely important for the product. Even if software is the series of excellent features, but its interface is simple and effective, the product is doomed to failure.

Therefore independent of the UI team is created. Members of a team of UI are specialists in user interface design for software products and understand the difference between good and bad user interface. The only purpose of such a UI team did extensive research in the UI.

The computer user interface user interface design for the product or its characteristics. In the next stage of the user interface device interacts with Feature team owners to give concrete shape to the common user interface. At this meeting can perhaps lead to "page model" or "model" that contains all interface elements as required by page. The models are useful in presenting the desired look or appearance of the page. navigation between different pages is true also checked during these meetings multifunctional.

3) the development team, has been entrusted with the task of product development.

4) Test Team will be responsible for testing the product.

Process Flow:

1) Project Kick Start: The owners of the team members kick start the process of developing a high level design document applies to all properties and simultaneously released to all interested parties.

2) The release of High Level Design Document: In addition to document high-level design provided by the owners of the specifications, drawings or models from the pages of the user interface are released from all interested parties for consultation by Teams UI.

3) Software Development Coding desired functions are initiated by the development team according to documents made public.

4) Testing Software: Testing activities kick-off Test Team as follows:

($) Working Paper Test Outline: This document describes in detail the scope of the test or multiple choice test scenarios are projected at a high level. The test model is a brief description of what you need to check that during the flow.

In addition, data streams, this test is a draft document contains a detailed framework that describes all of the high level Design Document (HLD), up to the test flow. In HLD unique ID can be clearly identified in each application. This matrix is ​​to ensure that all requirements have been carefully checked for any deficiencies.

($) The cases of pre-treatment: each test scenario is further processed in a test case that contains all the details. It provides detailed steps for navigation, the required information and details on what needs to be controlled. A detailed analysis of test cases is useful, especially when the people writing test is a non-people going to run them.

($) Test Automation: Although automation is not required, the test is an optional step. Is the automation of test cases designed with the help of some automation tools that best suits your business needs.

($) Other activities: development and testing work is carried out simultaneously. The development team is dedicated to the main task of encoding the desired characteristics. The development team is sometimes a kind of test to an end as well. Meanwhile, the test team prepares the test cases for manual test scripts and automation to automate test execution with the help of some automation tools.

($) Product Testing: The test cycle starts when teams start to actively try to test the product and start recording errors in the system defined error repository. Meanwhile, developers are dedicated to correcting errors.

As a best practice are two separate instances of the application is maintained. An example is assigned to the test team and the other is designed for teams of developers or teams bugfixes. But both teams have a uniform code level.

($) Bugs Registration: Before opening a bug a bug in the archives of the system, is whether we can repeat, such as developers or not. If the problem is reproducible, it was demonstrated that a developer must be strengthened. When the error was corrected, and then apply the sample code correction developer of a comprehensive review and applies to regression test application team.

But if the fault can be reproduced on the example of a developer, we can deduce that it can be a problem with one type of application configuration. In this case, the developer interacts with the test team to determine whether it is actually an error that requires changes in the code or it is a kind of application configuration problem. Calls for such questions are fairly common in software testing products integrated.

($) Regression Testing: Review of the Code and testers is to repeat the tests from the beginning. To fix bugs, patches, common system is avoided. According to the best policy to repair the errors, which involves several rounds of testing, correct all errors accumulated between two rounds of tests carried out only once the errors are corrected and stands ready to paste. This is not to hard and fast rule. The exceptions are for errors that are considered essential and which can severely hamper the test can be corrected immediately.

($) Sanity Test: After the patch is finished, the sample application subject to rational examination of the development team. Then he was released the next phase of testing the implementation of all the test cases again. This includes the implementation of test cases that happen to pass in the previous round.

($) Judgement of the control operation: In a multiple testing cycles, an important decision should be made as to whether to proceed with the next series of tests or permit. The vital decision depends largely on the number of errors that occurred during the last round of testing. Two factors may help make such a decision are:

1) Further tests may be arrested in the absence of additional and critical flaws discovered when he no longer felt a need for regression testing.

2) In addition, testing can stop when the much smaller number of small leaves. The term "less" is very subjective and depends largely on the test applications.

09-    The Benefits Of Automated Testing Software

automated software testing is designed only to increase the flexibility of time and resources to administer the test. Again, this is the case in order to avoid redundancies in the process of performing the test and increase test coverage are made. This will improve the quality and reliability of the software has been tested to ensure that it has flaws and errors that might prevent its execution.

Several applications are increasingly required to perform complex testing of critical business processes around the software prior to release or use.

Testing of critical business applications based on a regression may require thousands of test cases that will be needed to run and rerun at any time. For this reason, automated test scripts must be designed and built from scratch with virtual view that demand will be addressed. This request is addressed by providing automated testing solution to address issues and problems in a particular software product, before and after his release.

Capabilities and areas of this type of software testing is composed of a variety of categories, where functionality, regression and performance testing, requirements management, test management, preparation of test cases, execution testing and bug tracking and management considered for automation.

Automated testing of software applications and accelerates time-tested before being released. Typically, the tests take days, weeks or months when it is done manually to ensure that the software or application is free of defects, questions, errors or failures. With automated testing, the same process is completed in hours or minutes, with a higher rate of return. Besides time, there are clear advantages in terms of saving resources, it is not necessary to spend additional funds to conduct a manual test.

When a software application or product using automated testing, which is an improvement in reliability and quality of the software or use for a control system more efficient. In addition, coverage of the test track in terms of length and width greatly enhanced by a fully automated procedure. There will be no need to cross, because the product can be tested immediately in the place of its creation. And new software releases and the application or facilities, is also more efficient iterative regression.

Make an automated test software comes with a wide range of benefits and advantages without the drawbacks that come normally. In fact, there is a clear decrease in the amount of time needed to test the product and the resources for this purpose, two of the biggest advantages that we enjoy. The human factor is virtually eliminated and efficiencies are close to perfection, with margins of error is virtually nil. With these advantages, automation is definitely the answer to improvement.