MSF Testing • Introduction • Functional Testing • Performance Testing 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. Functional Testing Methodology 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 Ecommerce Web site Scenario 1 – Registration Using Microsoft Passport Description A new user registers using Passport authentication. Objective Determine whether a new user can register on the site using Passport credentials. Priority High Steps: 1.1 Access the home page, and then click Register Now. 1.2 Click the Passport link on the registration page. 1.3 Use valid Passport credentials (e-mail address and password) to complete all data fields on the page. 1.4 Click the Register button. Scenario 2 – Logon Using Passport Description A user logs on to the site using Passport authentication. Objective Determine whether a user with valid Passport credentials can access the site. Depending on the user's browser settings, check whether cookies are deposited on the user's computer. Priority High Steps: 2.1 Access the home page, and then click the Passport link. 2.2 Enter a valid Passport credentials (e-mail address and password). 2.3 Click the Sign In button. Detailed Test Case Legend Column Heading Definition No. Number of the specific test case in this document. DTP Ref. Detailed Test Plan Scenario on which this test case was built. Priority & Test Type Relative priority of the test case (high, medium, or low) and type of test performed—automated (A) or manual (M) Condition to be Tested Specific functionality to be tested Execution Details Steps to complete the test case Expected Result What should happen Actual Result What actually happened Test OK? Did the application function as expected? (Y=Yes; N=No). Derived Test Cases No. DTP Ref. Priority & Test Type Condition to be Tested Execution Details Expected Result 1 DTP 1 High (M) User registers as a new user using Passport authentication. Visit the test site. Click the Register Now link for Passport. Complete all fields. Click Register. The new user should be able to register on the site. 2 DTP 2 High (M) User logs on using Passport authentication. Visit the test site. Click Passport Sign in. Enter a valid user name and password. Click Sign In. The user should be able to log on and have access to all available features on the site. Actual Result Test OK? 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. Example Testing Infrastructure Questions?