Please enable JavaScript.
Coggle requires JavaScript to display documents.
Software Testing - Coggle Diagram
Software Testing
Terminology
Failure
Inability of a system to perform a required function
according to its specification
Bug
Synonims
Fault
Defect
Condition that causes system failure
Error
Human mistake that caused fault
Test case
Procedure to test a functionality
Composed of:
Inputs
Test cade ID
Preconditions
Inputs
Expected outputs
Testware
Test documentation
Incident
Symptom of a failure
Test oracle
In charge of validate correctness of test
Bug
Life cycle
Bugs-out
Classification
Isolation
Resolution
Bugs-In
Status
New
Open
Assign
Deferred
Reopened
Rejected
Tested
Fixed
Causes
Human Error
Miscommunication
Change in requirement
Rescheduling of resources
Complexity of bug tracking
Classification
Criticality
Major
Minor
Medium
Critical
Software development Life Cycle
Requirements or specification
Design
Controlflow
Logic
Processing
E.g. Datatype convertion
Dataflow bugs
Wrong data initialization
Error handling bugs
Race conditions
Boundary Related
UI
Coding bugs
Integration
System
Testing
Test
Test principles
Destructive approach for constructive testing
Cleanup after each test
Early testing is better than later
Probability of finding a bug is proportional to bugs found int that section
Should start at smallest module and then grow
Testing should be done by independent team
Everything must be recorded
Unexpected inputs have a high level of failure
We usually code happy path
Testers should be part of design and spec specification
Effective, not exaustive
Life cycle
Planning
Define test
Define costs
Identify risk areas
Define formats
Design
Determining the test objectives and their prioritization
Preparing list of items to be tested
Mapping items to test cases
Cover all features but keep tests minimal
Creating test cases and test data
Setting up the test environment and supporting tools
Cloud can help with this
Generate different systems with required specs in parallel
Creating test procedure specifi cation
Execution
Review
Understand the bug
Reproduce bug
Analyze root cause
Levels of validation testing
Unit testing
Integration testing
System testing
Strategies
Static testing
Do not execute code
Dynamic
White box
Black box