Integration testing is black box testing. Integration testing focuses on the interfaces between units, to make sure the units work together. For integration testing we ensure that all units testing of the each component is performed earlier. Integration testing begins only after the unit testing. The purpose of integration testing is to ensure different components of the application interact with each other. So that, components work as per the customer requirements. Test cases are developed with the purpose of exercising the interfaces between the components. Integration testing is considered complete, when actual results and expected results are same.
We can perform regression testing manually, but it requires lots of effort. To choose the way of doing the regression testing is totally depends on the initial testing approach. If the initial testing approach was manual testing, then the regression testing is usually performed manually. In case, if the initial testing approach was automated testing, then the regression testing is usually performed by automated testing. Automated regression testing is very easy task.
To prepare a test plan directly without having SRS, When the Requirements and URD(User Requirement Document )are available to us. URD is very helpful to determine the requirement of the user. The SRS document only contains the requirement of the user, but tester can also determine the requirement form the product. Without having SRS document we cannot estimate the Testing effort and cost of testing if we do not have SRS. SRS tell us on which platform our software is going to be used and on basis of this we perform the test on the application. Some time end user want to know what type of testing we are going to execute on the application for this we can send our test plan to the client.
★ QA is concern for Process Quality and Programmers are concern for Product Quality.
★ QA ensure that the processes used for developing the product of high quality where as programmers used these processes so that end product is of good quality.
★ Processes are decided by QA. Programmers are supposed to follow the processes so that they can produce a good quality product.
★ Any issue found during execution of process by the programmers is communicated to the QA so that they can improve the process.
★ Test management tools example: Quality Center, JIRA.
★ Defect management tool example: Bugzilla, Test Director.
★ Project management: Sharepoint.
★ Automation tools: QTP, RFT, WinRunner.
★ Functional tests:
Identify some P1 and P2 cases which are most critical for project success and operations and automate them. After every new build, these scripts will assure the fixes does not broke any of the critical functionality.
★ Regression test suites:
Test the need to be run after each build.
★ Performance tests:
Identical test the need to be run on different browser.
★ Stress tests
★ Load tests
For each new release need to update the test automation suites.
Accuracy and repeat-ability of the test automation.
Ease of working with all the different kinds of automation test ware.
Total cost related to the effort needed for the automation.
Ability of the automated test to run on different environments.
Effectiveness of automation on an unstable or rapidly changing system.
Extent to which automation can be used by different types of user.
★ Ignoring automation, while planning the development phases.
★ In design Phase not choosing the right technology.
★ In coding Phase not automating the right test cases.
★ Tool selection might go wrong.
★ Test script not be updated when application is continuously changing.
★ Test data should be unique, if the same data is available on the application then the application will not accept the data that we are going to add via automation.
★ Test Planning (Test Strategy, Test Plan, Test Bed Creation)
★ Test Development (Test Procedures, Test Scenarios, Test Cases)
★ Test Execution
★ Result Analysis (compare Expected to Actual results)
★ Defect Tracking
A code that works. The good code must not contain the defect or bug and is readable by other developers and easily maintainable. Organizations have coding standards all developers should follow, and also every programmer and software engineer has different ideas about what is best and what are too many or too few rules. We need to keep in mind that excessive use of rules can decrease both productivity and creativity. Peer reviews and code analysis tools can be used to check for problems and enforce standards.