Software Test Design 1st Edition by Simon Amey – Ebook PDF Instant Download/Delivery: 1804612561, 9781804612569
Full download Software Test Design 1st Edition after payment

Product details:
ISBN 10: 1804612561
ISBN 13: 9781804612569
Author: Simon Amey
Software Test Design 1st Table of contents:
Part 1 – Preparing to Test
Chapter 1: Making the Most of Exploratory Testing
What is exploratory testing?
Advantages, disadvantages, and alternatives
Understanding when testing should begin
Understanding the test activities
The spiral model of test improvement
Identifying if a feature is ready for testing
Performing the first test
Mapping out new features
Using your naivety while testing
Running complete exploratory testing
Using exploratory testing by necessity
Checking exploratory test results
Using curiosity in testing
Summary
Chapter 2: Writing Great Feature Specifications
Advantages, disadvantages, and alternatives to feature specifications
Alternatives to feature specifications
Improving the handover from the product owner
Understanding the requirements format
Numbering
Sections
Requirement priority
Improving requirement statements
Specific
Be precisely wrong rather than vaguely right
Measurable
Agreed
Realistic
Complete
Independent
Consistent
Round-up of requirement statement improvements
Improving requirement content
Keep it obvious, cover everything
Version requirements
Describing configuration
Completing the specification
Functional test requirements
Error cases
User experience specification
Security test requirements
Maintainability
Non-functional tests
Documentation
Round-up of specification sections
The first draft of a feature specification
Turning a specification into a test plan
Countering arguments against specifications
“This feature is too small to be specified”
“We don’t know that behavior”
“We don’t have time to write a specification”
Summary
Chapter 3: How to Run Successful Specification Reviews
Why do we need a specification review?
Advantages, disadvantages, and alternatives of specification review meetings
Advantages of specification review meetings
Disadvantages of specification review meetings
Alternatives to specification review meetings
Inviting the right people
Scheduling the meeting
Running the meeting
Fixing incorrect requirements
Opening the black box
Setting a good tone for the meeting
Prioritizing requirement testing
Review meeting checklist
Summary
Chapter 4: Test Types, Cases, and Environments
Understanding different levels of testing
Test level examples
Test ordering
The testing pyramid
Advantages and disadvantages of unit tests
Advantages and disadvantages of integration tests
Advantages and disadvantages of system tests
Defining test cases
Prescriptive and descriptive test steps
Evaluating different test environments
Using temporary test environments
Using permanent staging areas
Setting the correct version, configuration, and environment
Performing systematic testing
Testing in the release cycle
Using curiosity and feedback
Summary
What we learned from Part 1, Preparing to Test
Part 2 – Functional Testing
Chapter 5: Black-Box Functional Testing
Advantages and disadvantages of black-box testing
Enabling new features
Performing API testing
Performing CRUD testing
Testing deletion operations
Testing update operations
Testing creation operations
Testing read operations
Performing negative testing
Identifying worse-case scenarios
Understanding equivalence partitioning
Using boundary value analysis
Mapping dependent and independent variables
Using decision tables
Using cause-effect graphing
Testing variable types
Testing generic text input fields
Testing email text input fields
Testing numeric text input fields
Testing password text input fields
Testing time input fields
Testing user-facing textboxes
Testing file uploads
Testing numeric processing
Uncovering hidden defects
Optimizing error guessing
Using feedback
Determining what to check
Trading off precision versus brittleness in automated testing
Test prioritization
Comparing bugs and features
Summary
Chapter 6: White-Box Functional Testing
Advantages and disadvantages of white-box testing
Using code analysis
Using static testing
Code format
Code conciseness
Defensive coding
Code functionality
Unit tests
Measuring code coverage
Function coverage
Calculating code coverage
Statement coverage
Decision coverage
Understanding condition coverage
Understanding condition/decision coverage
Understanding modified condition/decision coverage
Understanding multiple condition coverage
Understanding parameter value coverage
Understanding loop coverage
Understanding state and path coverage
Choosing appropriate test coverage
Testing modules and messages
API testing
Considering states and transitions
State transition test example
N-switch coverage
Checking asynchronous applications
Duplicate messages
Out-of-order messages
Missing update messages
Missing response messages
Error guessing
White-box checks
Checking code inefficiencies
Checking for two wrongs making a right
Gray-box testing
Summary
Chapter 7: Testing of Error Cases
Advantages and disadvantages of error testing
Classifying expected versus unexpected problems
Error handling philosophies
Fail as early as possible
Failing early in the release cycle
Catching errors in the frontend
Catching errors in the backend
Catching errors written into the storage
Catching stored errors
Fail as little as possible
Understanding defect cascading
Prioritizing error case testing
Testing beyond the limits
Testing timeouts
Understanding network degradation
Sources of network degradation
Testing degraded networks
Data failures
Fuzzing
Giving user feedback on errors
Summary
Chapter 8: User Experience Testing
Defining UX testing
Advantages and disadvantages of UX testing
Understanding usability and the feature specification
Running UX reviews
Setup versus ongoing usage
Testing the user interface’s look and feel
Interoperability
Testing displays
Scroll bars
Using touch screens
Choosing clear words
Testing localization
Testing time zones
Ensuring accessibility
Testing information display
Displaying information in tables
Visual elements
Testing notifications
Information display overview
Testing user interaction
Counting user steps
Required combinations of steps
Requiring restarts
Providing freedom and feedback
Hidden tools
Irreversible operations
Menu systems
Accessing features in multiple ways
Data structure design
User interaction overview
Testing the documentation
Testing error feedback
Preventing errors
Presenting errors
Avoiding spurious errors
Policing errors
Spurious errors
Internal failures
UX and loading
Running usability studies
Recorded sessions
Questionnaires
A/B testing
Instrumentation
Comparing bugs and feature requests
Summary
Chapter 9: Security Testing
Advantages and disadvantages of security testing
Attack types
Discovering the attack area
Running security scans
Security scan results
Running code analysis
Upgrading everything
Logging in
Authentication
Authorization
Testing injection attacks
SQL injection
HTML injection
Code injection
Cross-site scripting attacks
Validating file inputs
Testing file uploads
Testing file storage
Testing web application security
Information leakage
404 content injection
Clickjacking
Long password attack
Host header attacks
CSRF attacks
CORS attacks
Handling personally identifiable information
Running a bug bounty program
Avoiding security through obscurity
Considering security beyond the application
Summary
Chapter 10: Maintainability
Understanding maintainability use cases
Advantages and disadvantages of maintainability testing
Goals of maintainability
Tools for observability
Identifying system degradation
Improving your system
Debugging issues
Designing monitoring
Instrumentation
Filtering alerts
Performing active checks
System resources versus customer outcomes
Hierarchies of system failures
Automatic problem reporting
Monitoring overview
Testing maintenance operations
Worst-case maintenance operations
Centralized commands
Testing upgrade types
Testing upgrade control
Testing upgrade processes
Client upgrades
Recovery and rollback
Testing transitions
Testing maintenance operations overview
Using logging
Finding “the” log
Understanding the debugging steps
The importance of messages
How to log messages
The Goldilocks zone of logging
Logging usability
Logging overview
Summary
What we learned from Part 2, Functional Testing
Part 3 – Non-Functional Testing
Chapter 11: Destructive Testing
Advantages and disadvantages of destructive testing
Failover testing
Classes of redundancy
Performing failovers
Failover error reporting
Failover recovery
System recovery
System shutdowns
Shutdown test plan
Shutdown error reporting
Killing processes
Starting back up
Communication failure
Chaos engineering
Backup and restore testing
Summary
Chapter 12: Load Testing
Advantages and disadvantages of load testing
Prerequisites
Identifying load operations
Dynamic versus static load
Soak testing versus spikes of load
Loading combinations
Load test design
Load runner architecture for client-server applications
Other load runner architectures
Load runner interfaces
Load runner functions
Raising system limits
What to check during load testing
Memory leaks
System resource leaks
Reporting results
Defect hiding
Race conditions and asynchronous systems
Startup and shutdown
Loading inefficiencies
Loading messages between modules
Performance testing
Identifying bottlenecks
Load tests in the release cycle
Filtering load test errors
Result sensitivity
Loading reliability
Debugging load test issues
Summary
Chapter 13: Stress Testing
The advantages and disadvantages of stress testing
Stress test architecture
Breaching transaction rates
Policed and unpoliced limits
Identifying positive feedback loops
Graceful degradation
Limited resources
Soak testing
Spikes in load
Testing queues
Stress testing with errors
What to check when stress testing
Summary
Conclusion
Appendix – Example Feature Specification
Index
Why subscribe?
Other Books You May Enjoy
Packt is searching for authors like you
Share Your Thoughts
Download a free PDF copy of this book
People also search for Software Test Design 1st:
software test design
software test description (std)
software test description
software design studio
software design tutorial #1
Tags: Simon Amey, Software, Design


