Strategic Software Testing: Selecting Testing Approaches to Fit a Need

Strategic Software Testing: Selecting Testing Approaches to Fit a Need

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 3h 47m | 817 MB

Unlock the benefits of software testing by learning to select and implement the most effective testing strategy for your specific software development context.

For a software system, arguably the paramount concern is ensuring its flawless and non-harmful performance rather than merely its existence. Software testers play a critical role in achieving this goal, but the testing landscape is rich with diverse schools of thought, methodologies, tools, and techniques. Pivotal questions for testers are as follows: Should your emphasis be on manual testing or automation? Should you primarily be creating test scripts? And what kinds of automated tests are likely to provide value to your specific application?

This video provides an overview of the array of testing techniques and approaches available to testers, but more importantly, how to consider their relative strengths and weaknesses to create a strategy for testing that selects from those approaches to fit a specific need.

Learn How To:

  • Understand the strengths and weaknesses of testing approaches and techniques
  • Use context to inform your testing strategies and approaches
  • Distinguish between the relative value of human-interactive and automated testing approaches
  • Construct and adjust testing strategies for short and long range goals
  • Leverage the strengths and talents of team members to implement testing strategies

Who Should Take This Course:

  • Software testers interested in broadening their skills
  • Software developers interested in learning more about testing
  • Managers interested in understanding software testing approaches and techniques

Lesson 1: What is Software Testing? This lesson defines testing for the purpose of this course. It explores the significance of testing and testers, as well as aspects of a dedicated career in testing. It discusses high level testing philosophies, common ways of categorizing testing activities, and who tests on a team.

Lesson 2: The Need for Diversity in Testing Approaches: This lesson covers testing contexts, what is important to test, and the applicability (or sweet spot) of testing approaches. It discusses the importance of explicit strategy for a particular effort considering context characteristics. Finally, it summarizes how each new context requires thought about a new testing strategy or adjustment to an existing strategy.

Lesson 3: Understanding Human-driven, Interactive Approaches to Testing: This lesson discusses specific testing techniques and practices. It examines the traditional role of a tester/quality analyst, and covers practices and techniques, including feature confirmation testing, regression testing and test scripts, exploratory testing, usability testing, integration testing, testing requirements, and a variety of common tool-assisted testing practices.

Lesson 4: Understanding Automated Testing: This lesson discusses ways and reasons to automate tests. It discusses the automated tester role, test surfaces (also appliable to interactive tests but an essential concern for automated ones) and specific types of automated testing, such as unit testing, testing through user interfaces, API testing, functional testing, performance and load testing, smoke testing, and static analysis.

Lesson 5: Informing Testing Strategies: This lesson examines common types of contexts for software development that frequently impact testing. It covers how to think about and identify contexts, and then explores several common contexts, such as the workplace, the team and process, the application domain, build or buy, the delivery lifecycle, application functionality, risk, architecture and system integration, and application usage and parallelism contexts.

Lesson 6: Formulating Testing Strategies: This lesson discusses how to formulate and adapt testing strategies to fit software development contexts. It introduces a structured format to use to consider and list context characteristics that affect testing for a particular endeavor. It explores time-boxed testing strategies and formulations for these strategies in various project scopes and sizes. It presents several examples of realistic software efforts and explores factors that might require adjustment to testing strategies during project or product development.

Table of Contents

Introduction
Strategic Software Testing Introduction

Lesson 1 What is Software Testing
Learning objectives
A Testing Definition
The Importance of Software Testing
Software Testing as a Career
Philosophies of Software Testing
Categories of Software Testing
Who Tests on a Team

Lesson 2 The Need for Diversity in Testing Approaches
Learning objectives
All Testing Contexts Are Not the Same
What’s Important to Test is Not Always the Same
Sweet Spots for Testing Approaches and Techniques Vary
How an Explicit Strategy Helps
New Context = New Strategy

Lesson 3 Understanding Human-driven, Interactive Approaches to Testing
Learning objectives
The Traditional Tester Role
Feature Confirmation Testing
Regression Testing and Test Scripts
Exploratory Testing
Usability Testing
Integration Testing
Testing Requirements
Tool-assisted Testing

Lesson 4 Understanding Automated Testing
Learning objectives
The Automated Tester Role
Test Surfaces
Unit Testing
Automated Testing Through the UI
API Testing
Functional Testing
Performance and Load Testing
Smoke Testing
Static Analysis Tools and Tests

Lesson 5 Informing Testing Strategies
Learning objectives
A World of Contexts to Consider
The Workplace Context
The Team and Process Contexts
The Application Domain Context
The Build or Buy Context
The Delivery Lifecycle Context
The Application Functionality Context
The Risk Context
The Architecture and System Integration Contexts
The Application Usage and Parallelism Contexts

Lesson 6 Formulating Testing Strategies
Learning objectives
Considering the Contexts
Applying Testing Strategies to Time Boxes
Example A Class Registration Application
Example A Drug Prescribing Application
Example A Payroll Processing Application
Example A Patient Portal Application
Adjusting Testing Strategies

Summary
Strategic Software Testing Summary

Homepage