1 / 24

Load and Functional Testing

Load and Functional Testing. Flex 2 and ColdFusion Matthew Stevanus Universal Mind. Load and Functional Testing. Load Testing Find the limits Pinpoint concurrency problems Tune the system Automated Functional Testing Coming soon? Ensure the application does what’s intended

maegan
Télécharger la présentation

Load and Functional Testing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Load and Functional Testing Flex 2 and ColdFusion Matthew Stevanus Universal Mind CFUNITED – The premier ColdFusion conference www.cfunited.com

  2. Load and Functional Testing • Load Testing • Find the limits • Pinpoint concurrency problems • Tune the system • Automated Functional Testing • Coming soon? • Ensure the application does what’s intended • Full-regression testing • In a hurry

  3. Load Testing and Performance Tuning • Why test my application? • Get the most out of your • Servers • Application • Database • Time and effort • Keep your customers and your boss off your _______ and out of your _______.

  4. Load Testing and Performance Tuning • What to Load Test • Any new application • That is to be released to 2 or more users • Concurrency issues can happen at any load • An application that has undergone • Any significant changes • Any major infrastructure changes • Network topology changes • Operating System upgrades • Hardware upgrades

  5. Load Testing and Performance Tuning • When to Load Test • As early as possible • Leave enough time before deployment • To fix any problems • Re-test the application

  6. Load Testing Flex 2 • Load Testing Tools • Mercury LoadRunner • Microsoft Web Application Stress Tool • Borland SilkPerformer • Previously Segue SilkPerformer

  7. Load Testing Flex 2 • Mercury LoadRunner • Advantages • Practically industry-standard • 77% Market share • Disadvantages • Scripting language • Difficult to master for non-programmer • Cannot duplicate AMF Protocol • Flash Remoting

  8. Load Testing Flex 2 • Microsoft Web Application Stress Tool • Advantages • Free • Disadvantages • Limited user-defined data • No results management • Error codes • Returned data set sizes • No re-directs allowed • Cannot duplicate AMF Protocol • Flash Remoting

  9. Load Testing Flex 2 • Borland SilkPerformer • Advantages • Supports AMF Protocol • Recording • Playback • Disadvantages

  10. Load Testing Flex 2 • Load Testing Methodology • Critical Path Identifcation • Bottleneck analysis • Performance tuning • Reporting

  11. Load Testing Flex 2 • Load Testing Specifics • Stress Testing • Worst-case Scenarios • No Think Time • Concurrency issues quickly detected • Real-world testing • Matches real traffic more closely • More expensive licensing • Longer test cycles • Concurrency issues not addressed

  12. Load Testing Flex 2 • Load Testing Specifics (cont’d) • Virtual Users • Like regular users • Each has its own session • Including cookies

  13. Functional testing for Flex 2 • Flex 2 Beta 2 Included Support for • Mercury’s QuickTest Professional • Moved to an add-on? • QuickTest Professional (QTP) • Record • Playback • Verify results

  14. Functional testing for Flex 2 • Dynamic or Static Loading • QTP configuration • Dynamic (mxml files deployed) • Uses automation.swf • Referenced on URL • Referenced in HTML page http://www.myhost.com/index.html?automationSwfUrl=/assets/automation.swf <object ... > <param name='flashVars' value='automationSwfUrl=/assets/automation.swf'> ... </object>

  15. Functional testing for Flex 2 • Dynamic or Static Loading (cont’d) • Static (Pre-compiled Flex) • Automation.swc • Must be compiled with application • Then taken out before released to production • Compile into SWF • Add to Flex’s include-libraries options

  16. Functional testing for Flex 2 • Identifying your Objects • QTP identifies objects based on • Labels • IDs • Always give an ID to your objects • Use automationName • For programmatically named objects

  17. Functional testing for Flex 2 • Adding events to QTP recorder • By default, Not all interactive events are recorded • Too many events to record them all • Recorded scripts would get too large • TEAFlex.xml • Identifies all recorded events • Example • Button only records Mouse Click • Not Mouse Over, Down, Up, or Out

  18. Functional testing for Flex 2 Adding the MouseOver Event to TEAFlex.xml <TypeInfo> <Operation ExposureLevel="CommonUsed" Name="MouseOver“ PropertyType="Method"> <Implementation Class="flash.events::MouseEvent" Type="mouseOver"/> <Argument Name="inputType" IsMandatory="false" DefaultValue="mouse"> <Type VariantType="String"/> </Argument> <Argument Name="shiftKey" IsMandatory="false" DefaultValue="false"> <Type VariantType="Boolean"/> </Argument> <Argument Name="ctrlKey" IsMandatory="false" DefaultValue="false"> <Type VariantType="Boolean"/> </Argument> <Argument Name="altKey" IsMandatory="false" DefaultValue="false"> <Type VariantType="Boolean"/> </Argument> </Operation> </TypeInfo>

  19. Functional testing for Flex 2 • Excluding Containers • Containers do not need to be instrumented • Their children, however, do • showInAutomationHierarchy attribute • False – excludes it from instrumentation • True – default

  20. Conclusions • Performance Testing and Tuning • As early as possible in the development cycle • Every time a major change is implemented • Load Testing Tools • Mercury Load Runner • Segue SilkPerformer • Only tool that supports Flash Remoting

  21. Conclusions • Functional Testing • Manual or Automated • Both will lead to successful application deployments • Manual • Excellent, detailed Use Cases • Thorough, obsessive testers

  22. Conclusions • Functional Testing (cont’d) • Automated • Detailed Use Cases • Recorded Sessions • Re-use many times • Small QA staff required • Faster, more complete than Manual

  23. Conclusions • Automated Testing Tool • Mercury QuickTest Professional • Natively supported in Flex

  24. Thank you • Any questions?

More Related