1 / 27

Contemporary Application Development

Contemporary Application Development. Are Testing Teams and Techniques keeping pace?. Pete Couper AMR & Associates peter.couper@amr.co.nz October 200 3. Question!. How many of you have been in Testing Teams asked to transition from

kioko
Download Presentation

Contemporary Application Development

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. Contemporary Application Development Are Testing Teams and Techniques keeping pace? Pete Couper AMR & Associates peter.couper@amr.co.nz October 2003

  2. Question! • How many of you have been in Testing Teams asked to transition from • Mainframe environment, predominantly batch/file based interfaces, to • GUI based N-tier solutions with complex realtime integration across bespoke and shrink wrapped systems including integration to legacy systems running in vendor supplied frameworks (eg application server or .NET)? • What process changes, training and tools were supplied to help you with this transition?

  3. Session Outline • Contemporary Application Development Defined • Contemporary Application Development – Challenges for Testing • Some Contemporary Testing Techniques • A look at a Contemporary Testing Team • Session Summary

  4. Contemporary Application Development Defined • Dictionary definition of Contemporary • Date: 16311: happening, existing, living, or coming into being during the same period of time2 a: SIMULTANEOUSb: marked by characteristics of the present period : MODERN, CURRENT • Often Contemporary Application Development refers to :- • Methods, or • Tools

  5. Contemporary ApplicationDevelopment Defined(cont.) • What do I mean by Contemporary Application Development? • Method used & Structure of Teams • Tools – both Development and Runtime • n-Tier, distributed • Mix of bespoke, shrink wrapped, legacy • Complex integration – sync and async • Web Services – internal and/or external • Cross organisation business process integration • Etc.

  6. Contemporary ApplicationDevelopment Defined(cont.) • Emphasis on “Speed to Market” & ROI • Less Large Projects • Increase in Buy/Build • Agile Software Development Methods (XP, SCRUM, FDD, DSDM, ASD etc.)

  7. Contemporary ApplicationDevelopment Defined(cont.) • Speed of Technology Change • Mix of Technology • Service Oriented Architecture (SOA) • Enterprise Application Integration (EAI)

  8. Session Outline • Contemporary Application Development Defined • Contemporary Application Development – Challenges for Testing • Some Contemporary Testing Techniques • A look at a Contemporary Testing Team • Session Summary

  9. Need fully integrated test environment Ability to test multiple delivery channels Changing requirements Ever Increasing Time Pressure Contemporary Application Dev. – Challenges for Testing

  10. Complex test planning Lack of support for new packages Faults hard to identify/define Hard to match Prod. Environment Contemporary Application Dev. – Challenges for Testing(cont.)

  11. Non-functional testing of solution Environment stability Testing on incomplete solutions Access, availability, data & date sync. issues Contemporary Application Dev. – Challenges for Testing(cont.)

  12. Session Outline • Contemporary Application Development Defined • Contemporary Application Development – Challenges for Testing • Some Contemporary Testing Techniques • A look at a Contemporary Testing Team • Session Summary

  13. Some Contemporary Testing Techniques • Develop a Test Strategy that • Takes an Enterprise Level view of testing • Covers all existing Systems • Defines “How to” for Projects • Includes vendor testing – for both Business-as-usual and projects • Covers the Testing Teams involvement throughout the SDLC

  14. Some Contemporary Testing Techniques(cont.) • Test Planning is more complex • Multi system, fully integrated, data driven, external interfaces, delivery channels, new packages, mix of technology, multiple vendors, incomplete solution, non-functional testing, etc. • Plan to Test early • Testers review functional and non-functional requirements specifications prior to sign-off • Testers review Use Cases and define alternate flows in Use Cases, again, prior to sign-off • Test iterations as they become available

  15. Some Contemporary Testing Techniques(cont.) • Plan to allow Testers flexibility • Testers should be encouraged to follow “hunches”, not simply stick to a rigid script • Plan to include Non-functional testing • Test the System “-abilities” (Reliability, Scalability, Recoverability, Availability, Usability, Manageability, Compatibility, even Securability etc.) • Include a mix of testing techniques • Automated • Manual • Exploratory

  16. Some Contemporary Testing Techniques(cont.) • Consider a Risk Based approach to testing • Define testing mission • Risk Assessment • Outside-In – “-abilities” • Inside-Out • Risk Prioritisation • Develop Risk Task List Aim – “Find the fundamental faults fast”

  17. Session Outline • Contemporary Application Development Defined • Contemporary Application Development – Challenges for Testing • Some Contemporary Testing Techniques • A look at a Contemporary Testing Team • Session Summary

  18. Glenford Myers Quote The design of “good” system test cases requires more creativity, intelligence and experience than required to design the system.

  19. Glenford Myers Quote - Modified The design of “good” system test cases requires more creativity, intelligence, technical appreciationand experience than required to design the system.

  20. A Contemporary Testing Team(cont.) • Test Team is expected to develop a comprehensive Test Plan • Faults need to be identified and reported to appropriate vendor • Ability to identify and prioritise risks • Non-functional testing scripts need to be developed and executed

  21. A Contemporary Testing Team(cont.) • Test Teams need Testing Professionals • Testing Professionals need to understand technology • Business resources added to the Test Team need to be trained and mentored • Consider outsourcing technical testing tasks e.g. Test Planning, Performance Testing, Reliability Testing

  22. Session Outline • Contemporary Application Development Defined • Contemporary Application Development – Challenges for Testing • Some Contemporary Testing Techniques • A look at a Contemporary Testing Team • Session Summary

  23. Session Summary • Contemporary Application Development has increased the complexity of software solutions • This complexity directly impacts on testing • The effectivenessof testers will reduce if they do not change how they approach testing

  24. Session Summary (cont.) • Comprehensive Test planning is critical when testing a complex software solution • It is vital the Testing Team contains the experience and technical skills required • Test Professionals are essential to ensure a quality outcome • Testing is a profession in its own right, it needs to be recognised as such

  25. Session Summary (cont.) We have Contemporary Application Development Is it time that it is complemented by Contemporary Application Testing? Well I think it is!

  26. THE END Questions?

  27. References • James Bach – Satisfice Inc. – www.satisfice.com • www.Stickyminds.com • “Project Survival Guide” & “Rapid Development” - Steve McConnell • Dr. Magdy Hanna – International Institute for Software Testing – www.softdim.com/iist • Glenford Myers – “The Art of Software Testing” 1979 To get a soft copy of this presentation go to:- www.amr.co.nz

More Related