Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Less01 1 introduction_module


Published on

  • Be the first to comment

Less01 1 introduction_module

  1. 1. Oracle Application Testing Suite: Introduction
  2. 2. Topics Covered <ul><ul><li>FMStocks </li></ul></ul><ul><ul><li>Testing Concepts </li></ul></ul><ul><ul><li>e-Tester </li></ul></ul><ul><ul><li>e-Manager </li></ul></ul><ul><ul><li>e-Load </li></ul></ul><ul><ul><li>e-Reporter </li></ul></ul><ul><ul><li>ServerStats </li></ul></ul>
  3. 3. FMStocks Introduction to Oracle Application Testing Suite
  4. 4. How to Access FMStocks <ul><li>Navigate to: http://Instructor*/FMStocks in a web browser </li></ul>* See Instructor for the name of the host machine
  5. 5. What Is FMStocks? <ul><ul><li>Fitch and Mather Stocks is a sample brokerage application </li></ul></ul><ul><ul><li>Used to test Microsoft ASP and .Net technologies </li></ul></ul><ul><ul><li>This course will refer the FMStocks site as a sample application </li></ul></ul><ul><ul><li>You can download the application at </li></ul></ul>
  6. 6. FMStocks Architecture <ul><ul><li>Developed for Windows 2000 </li></ul></ul><ul><ul><li>Built using the standard 3-tiered technology approach </li></ul></ul><ul><ul><ul><li>Presentation Layer – IIS and ASP </li></ul></ul></ul><ul><ul><ul><li>Business Logic Layer – COM+ </li></ul></ul></ul><ul><ul><ul><li>Data Services Layer – SQL Server </li></ul></ul></ul>
  7. 7. FMStocks Architecture Presentation Logic Data IIS ASP Business Components SQL Server Web Browser ODBC ADO OLE DB
  8. 8. FMStocks Transactions <ul><li>Key transactions of the FMStocks application: </li></ul><ul><ul><li>Open a new account </li></ul></ul><ul><ul><li>Login </li></ul></ul><ul><ul><li>Research a company </li></ul></ul><ul><ul><li>Purchase a stock </li></ul></ul><ul><ul><li>Sell a stock </li></ul></ul><ul><ul><li>Balance and portfolio data </li></ul></ul><ul><ul><li>Logout </li></ul></ul>
  9. 9. Testing Concepts Introduction to Oracle Application Testing Suite
  10. 10. Importance of Testing <ul><ul><li>Improve the quality of the application </li></ul></ul><ul><ul><li>Decrease risk of users discovering problems </li></ul></ul><ul><ul><ul><li>“First impressions are lasting impressions” </li></ul></ul></ul><ul><ul><li>Reduce cost of fixing application (earlier in development cycle) </li></ul></ul>
  11. 11. Importance of Testing <ul><ul><li>Improve the quality of the application </li></ul></ul><ul><ul><li>Decrease risk of users discovering problems </li></ul></ul><ul><ul><ul><li>“First impressions are lasting impressions” </li></ul></ul></ul><ul><ul><li>Reduce cost of fixing application (earlier in development cycle) </li></ul></ul>
  12. 12. Testing Overview Plan Test Record Test Cases Implement Tests Evaluate Tests Repeat Tests Track Defects
  13. 13. When To Test <ul><ul><li>The testing process should begin early in the systems development life cycle </li></ul></ul><ul><ul><li>Testing should begin with a review of the requirements documents and proceed all the way through to User acceptance testing </li></ul></ul>
  14. 14. What Is A Test Plan? <ul><li>Test Plan: describes the test strategy, scope, resources and schedule of testing activities. It identifies the test requirements, test cases, expected results, pass or fail criteria, and risks associated with the plan. </li></ul>
  15. 15. Importance of Test Plan <ul><ul><li>Organize, manage and schedule the testing effort </li></ul></ul><ul><ul><li>Repeatability </li></ul></ul><ul><ul><li>Improve coverage and efficiency </li></ul></ul>
  16. 16. Components of A Test Plan <ul><ul><li>Test strategy </li></ul></ul><ul><ul><li>Test objectives & scope </li></ul></ul><ul><ul><li>Test requirements </li></ul></ul><ul><ul><li>Expected results & pass/fail criteria </li></ul></ul><ul><ul><li>Risk assessment & priority </li></ul></ul><ul><ul><li>Test cases </li></ul></ul><ul><ul><li>Staffing & responsibilities </li></ul></ul><ul><ul><li>Test deliverables </li></ul></ul><ul><ul><li>Miscellaneous test plan components </li></ul></ul>
  17. 17. Test Strategy <ul><ul><li>Describes the general approach of the test project. </li></ul></ul><ul><ul><li>Specifies which stages of testing (unit, build, and system) are addressed and which kinds of testing (functional, performance, stress, and so on) are to be performed within each stage. </li></ul></ul><ul><ul><li>Includes test completion criteria (that is, allow the software to progress to acceptance testing when 95 percent of test cases have been successfully completed). </li></ul></ul>
  18. 18. Test Objectives & Scope <ul><li>Describe the objective for testing: </li></ul><ul><ul><li>EXAMPLE: To locate errors and demonstrate how well the system satisfies its specifications. </li></ul></ul><ul><li>The scope should list: </li></ul><ul><ul><li>What features are being tested? </li></ul></ul><ul><ul><li>What features are not being tested (covered by another plan)? </li></ul></ul>
  19. 19. Exercise 1 <ul><ul><li>Using the FMStocks site, develop a list of features to be tested. </li></ul></ul><ul><ul><li>Discuss the possible strategies and objectives for testing. </li></ul></ul>
  20. 20. Test Requirements <ul><li>Test requirement: reflects the behaviors that are to be verified of the application-under-test. </li></ul><ul><ul><li>A requirement must be verifiable! </li></ul></ul>
  21. 21. Classification of Test Requirements <ul><li>Business Functions: express the purpose of the software in terms of the business it serves, and relate most directly to the user’s expectations of the software. </li></ul><ul><li>User Interface Behaviors: are standard behaviors and sets of attributes to be verified. </li></ul><ul><li>Other Functions: are not directly related to business transactions (administrative functions, functions to set operator preferences, and supporting utility functions). </li></ul>
  22. 22. Think About The Requirements <ul><li>Identify the most important transactions. </li></ul><ul><li>Identify the most frequently used transactions. </li></ul><ul><li>Questions to ask: </li></ul><ul><ul><li>“What transactions will most adversely affect my business objectives if they don’t perform correctly?” </li></ul></ul><ul><ul><li>“What transactions are absolutely mission critical to my users?” </li></ul></ul>
  23. 23. Decomposition of Test Requirements <ul><li>Create a hierarchy of high-level test requirements, or test items. </li></ul><ul><li>Break down each test item into more detailed test requirements, or features to be tested. </li></ul>
  24. 24. Exercise 2 <ul><ul><li>Choose a feature from the list developed in Exercise #1. </li></ul></ul><ul><ul><li>Create a test requirement hierarchy with test items, and features to be tested. </li></ul></ul><ul><ul><li>For each requirement, classify it as a business function, user interface, or other function. </li></ul></ul>
  25. 25. Expected Results & Pass/Fail Criteria <ul><li>For each requirement, state the Expected Result. </li></ul><ul><li>Define the Pass/Fail Criteria for each requirement. </li></ul><ul><ul><li>Functional Criteria: whether the function meets the expected result. </li></ul></ul><ul><ul><li>Performance Criteria: specify the response times needed by the users. </li></ul></ul><ul><ul><li>Operation Under Stress: describes acceptable response to abnormal conditions such as unusually high transaction rates (I.e. Does the site slow down? Does it cease to function?) </li></ul></ul>
  26. 26. Risk Assessment <ul><li>For each requirement, identify the risk factor. The most important requirements to test are those with the highest risk. </li></ul><ul><ul><li>What could cause a requirement to fail? </li></ul></ul><ul><ul><li>What is the effect, or impact of a test requirement failing? </li></ul></ul><ul><ul><li>What is the likelihood, or probability, that a test case will fail? </li></ul></ul>
  27. 27. Risk Assessment <ul><li>First, list all of the causes of a failed requirement. </li></ul><ul><li>Second, for each cause, assign a number for the level of impact (that is, 1=low, 3=medium, 5=high) </li></ul><ul><li>Third, for each cause, assign a number for the likelihood of failure (that is, 1=lease likely, 3=likely, 5=highly likely) </li></ul><ul><li>Finally, multiply the level of impact by the likelihood of failure to get the risk factor. </li></ul>Impact * Likelihood = Risk Factor
  28. 28. Priority <ul><li>Once you have determined the risk factor, use it to assign a priority level to each requirement. </li></ul><ul><li>The priority will indicate the order of importance. </li></ul><ul><li>Example: </li></ul><ul><ul><li>Risk factors (1 - 8) = Low priority </li></ul></ul><ul><ul><li>Risk factors (9 - 15) = Medium priority </li></ul></ul><ul><ul><li>Risk factors (16 - 25) = High priority </li></ul></ul>
  29. 29. Test Cases <ul><li>For each requirement, design a test case to test it. </li></ul><ul><li>Next, develop the test case. </li></ul><ul><ul><li>For manual tests, document each step of the test case. </li></ul></ul><ul><ul><li>For automated tests, document each step of the test case, and generate the script using the automation tool. (Be sure to reference the script file in the test plan). </li></ul></ul><ul><li>Create data files (if needed) and reference their location in the test plan. </li></ul>
  30. 30. Think About Test Cases <ul><ul><li>Understand how users will use the site and record scripts that reproduce these transactions. </li></ul></ul><ul><ul><li>Transaction-based scripts provide more meaningful results and are easier to work with. </li></ul></ul><ul><ul><li>Longer scripts can be more difficult to work with and debug. </li></ul></ul>
  31. 31. Exercise 3 <ul><ul><li>Using the requirements from exercise #2, specify the expected results for each. </li></ul></ul><ul><ul><li>Prioritize the requirements. Explain the reason for the prioritization. </li></ul></ul><ul><ul><li>Create a test case to satisfy each requirement. </li></ul></ul>
  32. 32. Test Environment <ul><li>Specify the needed and desired properties of the test environment, including: </li></ul><ul><ul><li>Hardware (computer type, memory, hard-drive size, and so on) </li></ul></ul><ul><ul><li>Communications and system software </li></ul></ul><ul><ul><li>Bandwidth </li></ul></ul><ul><ul><li>Mode of usage (that is, stand-alone) </li></ul></ul><ul><ul><li>Other software or supplies needed (operation system, browser type, and so on) </li></ul></ul><ul><ul><li>Level of security </li></ul></ul><ul><li>Identify the source for all needs not currently available. </li></ul>
  33. 33. Staffing & Responsibilities <ul><li>Identify team members required for completing the test plan, and list the responsibilities for each. </li></ul><ul><ul><li>Test Manager: provides over all direction for testing. </li></ul></ul><ul><ul><li>Test Engineer (Design/Development): design and develop test cases. </li></ul></ul><ul><ul><li>Test Engineer (Test Execution): executes test cases. </li></ul></ul><ul><ul><li>Test System Administrator: installs and configures software/hardware on the test machines according to the test environment specifications. </li></ul></ul>
  34. 34. Test Deliverables <ul><li>List of the test materials developed by the test team, during the test cycles, that are to be delivered before the completion of the project. </li></ul><ul><ul><li>Test plan (requirements document & test cases) </li></ul></ul><ul><ul><li>Defect tracking reports </li></ul></ul><ul><ul><li>Final release report </li></ul></ul>
  35. 35. Miscellaneous Components <ul><li>Task List: specifies the tasks to be executed. The order in which tasks will be performed, and who will perform the tasks. The task order should take into consideration the requirement priorities, and which tests can be executed using the same setup. </li></ul><ul><li>Schedule: specifies the date and time that each task will be performed. </li></ul>
  36. 36. Test Plan Example <ul><li>Refer to the FmStocks Test Plan in Appendix A of your workbook. </li></ul>
  37. 37. Track Defects <ul><li>How do you identify defects? </li></ul><ul><ul><li>A defect will be any result that does not comply with the requirements document </li></ul></ul><ul><li>It is possible to find defects that comply with the requirements document. In such cases: </li></ul><ul><ul><li>Use common sense </li></ul></ul><ul><ul><li>Anything that would make a user not want to continue to use the site is a defect </li></ul></ul>
  38. 38. Testing Approaches Introduction to Oracle Application Testing Suite
  39. 39. Functional Testing <ul><li>Positive Testing </li></ul><ul><ul><li>Positive testing exercises the basic functionality dictated in the requirements documents. </li></ul></ul><ul><ul><li>Positive testing exercises functionality using the data the user IS SUPPOSED to use. </li></ul></ul><ul><li>Negative Testing </li></ul><ul><ul><li>Negative testing exercises the error handling functionality of the application under test. </li></ul></ul><ul><ul><li>Negative testing uses data the user IS NOT SUPPOSED to use. </li></ul></ul>
  40. 40. Functional Testing <ul><li>Black Box Testing </li></ul><ul><ul><li>Test by exercising the UI and validating that the UI returns the expected results </li></ul></ul><ul><ul><li>Black box testing focuses on the values returned by the UI, not on what is happening “behind the scenes.” </li></ul></ul><ul><li>White Box Testing </li></ul><ul><ul><li>Test by exercising the UI and validating against database entries and code break points. </li></ul></ul><ul><ul><li>White box testing focuses on what is happening “behind the scenes.” </li></ul></ul>
  41. 41. Functional Testing <ul><li>Grey Box Testing </li></ul><ul><ul><li>A combination of white box and black box testing. </li></ul></ul><ul><ul><li>Validates database entries as a result of exercising the UI without stepping through code </li></ul></ul>
  42. 42. Regression Testing <ul><li>Re-executing previously performed tests </li></ul><ul><li>Usually occurs after a new build has been released to validate that no new defects have been introduced </li></ul><ul><li>Applies to all aspects of testing </li></ul><ul><ul><li>Functional </li></ul></ul><ul><ul><li>Scalability </li></ul></ul><ul><li>Regression testing lends itself to automation due its repetitive nature </li></ul>
  43. 43. Questions?