|
This course focuses on practical issues faced by increasing numbers of testers. These issues arise because most corporations are still fairly traditionally structured even though many software development teams are heading full steam into modern iterative, incremental, component based, software development techniques. This leaves corporate QA stuck coping with an organizational and technical paradigm shift that traditional QA policies and practices are inadequate to handle. In the highly iterative environment characteristic of these modern development projects, developers are called upon to develop certain system-level tests and system testers are expected to plan, support and review the unit and component-level testing process. Risk assessment and overall test asset allocation must also be adapted.
This course helps integrate the development and testing processes according to best current software engineering practices. Attendees learn how to create and execute effective tests – both component-level and system-level – for modern software systems. The course covers organizational issues for the testing process introduced by the aggressive iterative, incremental nature of most modern software development projects. Specific techniques for testing components and entire systems are discussed – including ways to accommodate specific technical properties of objects.

- The characteristics of modern software development techniques and their effect on QA activities
- How, in the context of iterative, incremental projects, to use risk analysis to balance the need for adequate testing and quality assurance activities with the demands of on-time and within budget .
- How to apply systematic testing techniques such as structured walkthroughs to the various UML diagrams used in modern software engineering environments.
- How to use change cases to test for extensibility of quasi-agile project designs.
- Specific techniques for the selection and construction of test cases, and how to convert use cases into test cases
- The optimal way to organize the development and testing teams for iterative, incremental projects.
- To understand the various testing models, patterns, and tools and know when and where it is appropriate to apply them, especially in conjunction with the special needs of iterative software development
- To be able to develop a testing strategy for a iterative, incremental software project and devise appropriate test cases and allocate test resources in a manner compatible with that strategy
- The top ten pitfalls of testing in today's modern software engineering environments

Unit 1 – Modern Software Development Techniques
- Iterative
- Incremental
- Component based
- Process spectrum
- Mixed culture projects
- Why mixed culture projects characterize so many of today's significant software development projects – including probably yours
Unit 2 – How testing and quality assurance is affected by a modern iterative, incremental software development process
- Project organizational issues
- New skill set requirements for testers
- Additional skill set requirements for developers
- Risk analysis
- Testing models
- Testing “partially finished” artifacts
- Testing components
- Testing refactored code and regression testing
- Testing for extensibility
- Structured walkthroughs
Unit 3 – Test first development
- Impact on developers
- Impact on testers
- Impact on process
- Impact on tool selection
- Impact on the requirements to test case process
Unit 4 – Reconciling formal process control and iterative techniques
- ISO 900x
- CMMI
- Baseline reviews versus delta reviews
Unit 5 – A few baseline requirements for successful testing of modern iterative, incremental software development projects
- Process requirements
- Specification requirements
- Physical space requirements
- Software tools required
- Organization requirements
- Stakeholder requirements
- Other requirements
Unit 6 – How the fundamentals of testing are affected by a modern iterative, incremental software development
- Test planning
- Test budgeting
- Test execution
- Test evaluation and process improvement
- Interactions between the test team and development team
Unit 7 – Conclusions
- Top 10 potential pitfalls
- Top 10 factors for success
|
|