MSF Testing Strategy Requires a focus because there are many possible test areas and different types of testing available for each one of those areas. Because there are always resource constraints— whether these are time, people, or money— prioritization of the test areas and the type and level of testing to be done are very important decisions, and are the focus of preliminary test planning.
Test Types Functional testing ensures that the system provides the functionality described in the functional specification document. Regression testing checks whether or not the identical actions performed using an earlier build of a product function the same on a new build of the product. Security testing guarantees that only users with the appropriate authority are able to use the applicable features of the system. Performance testing ensures that the application responds in the time limit set by the user. Stress testing verifies that the application responds appropriately with many users and activities happening simultaneously. Automated testing can be used for regression and functional testing.
Test Areas User Interface Testing – References specification documents to checks form and consistency, including screen appearance as well as checks on data validations for all of the fields in all of the forms. Business Logic Testing Backend Testing
Test Areas (Continued) Platform testing certifies that the application runs successfully on the operating system and browser combinations agreed upon in the master test plan. Internet service provider (ISP) smoke testing confirms that the application responds to requests made over an ISP connection. End-to-end interface testing checks all of the inputs and outputs as well as the system. Input and boundary testing guarantees that the system allows only valid input. Windows/Internet GUI standards testing verifies that the application has a standardized look and feel. Localization testing guarantees that the application will work properly in different languages. Euro-compliant testing is used when an application will receive monetary values from the Economic and Monetary Union (EMU).
Test Areas (Continued) Conversion testing checks any data that must be converted to ensure that the application works properly. Installation/upgrade testing checks the setup/upgrade routine to ensure that the application can be installed over an existing copy. Usability testing ensures that the application is easy to work with, limits keystrokes, and is easy to understand. Ad hoc testing is done to test the system with unstructured scenarios to ensure that it responds appropriately. Environment security testing guarantees that the application installs and runs in the production environment. Network testing determines what happens to the application when different network latencies are applied.
Test Areas (Continued) Disaster recovery (backup/restore) testing is done to ensure that adequate procedures are in place for restoring the application and its data store in the event of a disaster. Application-based failover functionality testing ensures that application-based failover works in documented failure situations. User acceptance testing is typically performed by those who are similar in skill set and background to the target audience. Out of memory and memory leaks testing ensures that the application runs in the amount of memory specified in the technical documentation. Migration testing of applications from earlier versions of the operating system ensures that the application runs after a later version of the operating system is installed. Help testing is done to ensure that the details provided in Help are relevant and provide a solution to the problem faced.
Testing Levels High – Very important to thoroughly test this area Medium – Perform standard testing Low – Test if time allows
Functional Testing Should carefully test each build to ensure that it provides the functionality described in the application functional specification. Involves ensuring that the application behaves in the expected manner when each of the user scenarios identified in the application design occurs.
Test Plan Sample detailed test plans in this section address the following functionality: Registration and authentication Scenarios described are a selection from the full detailed test plan used in the development of the E- commerce Web site
Scenario 1 – Registration Using Microsoft Passport
Performance Testing Response Time – measures the interval between a user request and the response from the application. Throughput - measures the ability of the application to cope with the load placed on it by multiple concurrent users.
Performance Testing Tools Microsoft Windows 2000 System Monitor Netmon SQL Server Profiler System log files such as those generated by IIS Microsoft Web Application Stress (WAS) tool
WAS Tool Can be used to simulate the load placed on your application by a number of concurrent users. Can record a sequence of HTTP requests to your site and play those requests back for a specified number of concurrent users. Gathers response time and throughput statistics, which can then be used to evaluate your application's performance.
Performance Testing Methodology Preparing for the analysis. Creating a stress script. Executing the test. Analyzing the results. Documenting and delivering the results.