Testing is our main means of reducing software risk and typically takes half of software projects, yet still fails to catch many important defects. Traditional testing books and training emphasize using well-known test design techniques, including boundary tests and decision trees/tables, which indeed can help detect more defects; but their value is limited by testing too late and largely reacting to what’s specified in the system design. This interactive course shows how to use these techniques, along with additional little-known but more powerful Proactive Testing™ low-busywork methods that spot and can prevent many of the highest yet ordinarily-overlooked showstopper and other risks earlier when they are easier and cheaper to fix. You’ll be able to deliver better software in less time by more effectively making sure the most important unit/component, integration/assembly, system, and UAT testing is done in limited available time, while also providing the value that overcomes traditional user, manager, and developer resistance. To enhance learning, participants practice each key technique in a series of exercises with various aspects of a real case fact situation.Participants will learn:A structured Proactive Testing model of testing that should be performed throughout the life cycle.Ways testing actually can cut time, effort, and aggravation for users, developers, and managers.Writing industry-accepted test plans, designs, and cases that make testing easier and more reliable.Multiple techniques/checklists to design more thorough tests and discover overlooked conditions.Managing test execution, including estimating/allocating resources and reporting defects and status.Applying risk analysis and reusable testware to perform more of the important testing in less time.Who should attendThis course has been designed for testing professionals and others who manage and perform testing of software products, and also for analysts, designers, and system/project managers who need to know how Proactive Testing™ can cut software development time and effort.How testing can cut effort & timeTesting for correctness vs. testing for errorsDeveloper views of testingExercise: Your defined testing processWhat is a process, why it mattersREAL vs. presumed processesWhy most IT process improvement efforts failExercise: Your REAL testing processMeaningful process measures, results, causesDefect injection, detection, ejection metricsEconomics of quality problems in life cycleKeys to effective testingCAT-Scan Approach to find more errorsDynamic, passive and active static testingDeveloper vs. independent test group testingV-model and objectives of each test levelReactive testing—out of time, but not testsProactive Testing Life Cycle modelProactive user acceptance criteriaStrategy—create fewer errors, catch moreTest activities that save the developer’s timeApplying improvementsTest Planning Value not BusyworkWhy test planning often is resistedBuzzword boilerplate platitudes paperworkTest plans as the set of test casesSix reasons to plan testingRisk elements, relation to testingTraditional reactive risk analysis, issuesIEEE Standard for Test DocumentationOvercoming controversial interpretationsTesting structure’s advantagesEnabling manageability, reuse, selectivityTest plans, designs, cases, proceduresProactive Master Test Planning (Big Risks)Exercise: Anticipating showstoppersSpotting overlooked large risksInvolving key stakeholders, reviewing plansFormal and informal risk prioritizationDynamic identification of design defectsRisk-based way to define test unitsLetting testing drive developmentPreventing major cause of overrunsStomach ache metricTesting highest risks more and earlier, buildsMaster Test Plan counterpart to project planStrategy approach, use of automated toolsSequence of tests, sources of dataEntry/exit criteria, anticipating changeTest environment, supporting materialsEstimating testing, avoiding trapsRoles, responsibilities, staffing, trainingSchedule, risks and contingencies, sign-offsManagement document, agreementsMaintaining the living documentDetailed Test Planning (Medium-sized Risks)IEEE Standard on Unit TestingRequirements-based functional testingNon-functional requirements challengesBlack Box testing strategy3-level top-down test planning and designDetailed Test Plans for large risksExercise: Functionality matrixTest designs for medium-sized risksUse cases, revealing overlooked conditionsDetailed Test Plan technical documentWhite Box (Structural) TestingStructural (white box) degrees of coverageFlowgraphing logic pathsApplying structural paths to business logicExercise: Defining use case test coverageFlaws of conventional use-case testingExercise: Additional use case conditionsIntegration/System/Special Test PlanningRisks, issues integration testing addressesGraphical technique to simplify integrationsIntegration test plans prevent schedule slipsSmoke tests, increasing their valueSpecial testsLoad, performance, stress testingOngoing remote monitoring, reliabilitySecurity, configurations, compatibilityDistribution and installation, localizationMaintainability, support, documentationUsability, laboratories raising the barTest Design: Both Verb and Noun (Small Risks)Why tests need to be designedAppropriate use of exploratory testingExercise: Disciplined brainstormingChecklists, ad hoc exploratory pros and consData formats, data and process modelsExercise: Applying checklistsBusiness rules, decision tables and treesExercise: Create a decision tableEquivalence classes and boundary valuesExercise: Identify logical equivalence classesFormal, informal Test Design SpecificationsExercise: Defining reusable test designsComplex conditions, defect isolationTest Cases for small risksTest Case Specifications vs. test data valuesExercise: Writing test cases, script/matrixMaintenance and Regression TestingMaintenance vs. development, why so harderImprove attention and knowledgeRegression testing, minefield effectExercise: Testing maintenance changesAutomated Testing ToolsKey test automation issuesTools for a managed environmentCoverage analysis, execution aidsTest planning, design, administeringAutomated test execution tools, issuesScripting approaches, action wordsMeasuring and Managing TestingWhat is a test case surveyRelevance for estimating test-based tasksTraceability concepts and issuesEstimating non-test-based test project tasksDefect reports that prompt suitable actionDetermining defect ageStatus reporting people pay attention toProjecting when software is good enoughDefect density, reductionsDefect detection/removal percentagesExercise: Measuring testing effectiveness
Overview
Taught by
ONLC Training Centers