Please enable JavaScript.
Coggle requires JavaScript to display documents.
C1 : Introduction to Software Testing (Terms (Test Oracle (A source to…
C1 : Introduction to Software Testing
Terms
Error
Human action that produces incorrect results
Faults/Defect/Bugs
A flaw in the component or system that can cause the component or system fail to performed its required function
Failure
Deviation of the component or system from its expected delivery, service or result.
Test Design
Test Object + Test Basis
Test Suites
A set of Test Cases to be executed
Test Procedures = Test Script
Test Scenario
Business Story
Test Oracle
A source to determined expected result to compare with actual result of software under test
Oracle could be an existing system or user manual
Should not be the code
Testing
The process consisting of all life cycle activities, both static and dynamic, concerned with planning, preparation and evaluation of software products and related work products to
determine that they satisfy specified requirements
demonstrate that they are fit for purpose
detect defects
Objectives
Find defects
Prevent defects
Gain confidence on the quality level
Provide information for decision making
Verification & Validation
Verification
Confirmation by examination & through provision of objective evidence that the
specified requirements have been fulfilled
Did we implement the system right?
Validation
Confirmation by examination & through provision of objective evidence that the
requirements for a specific intended use or application have been fulfilled
Did we implement the right system?
Software Quality Attributes
Functionality
Existence of functions with specified attributes
Usability
the effort required to use & the individual assessment of such use by the users
Reliability
the ability of the software to maintain a specified level of performance under given conditions and for a specified time period
Portability
the ability of software to be transferred from one environment to another.
Efficiency
the relationship between the performance levels of the software and the amount of equipment used under specified conditions.
Maintainability
The effort that is necessary to carry out software changes
Seven Principles of Testing
Testing show presence of defects
Testing is context dependent
Exhaustive testing is impossible
Early Testing
Absence of error fallacy
Repetition have no effects
Pesticides Paradox
Defect clustering
Test Process Activities
Test Planning & Test Control
Test Planning
test techniques
test coverage
test resources
test schedule
Test Control
monitoring and recording of test progress
Initiate corrective actions
Roles
Test Manager
Deliverable
Test Plan
Test Analysis & Test Design
Designing test cases
Identifying test conditions / test requirements.
Designing the test environment
Roles
Test Analyst
Deliverable
Test Design Specifications
Test Case Specifications
Test Implementation & Test Execution
Test Implementation
Create test suites
Ensure test environment ready
Prepare test harnesses
Test Execution
Record test execution in test log
Report discrepancies as incident and analyze
Conduct re-testing
Deliverable
Test Procedure Specification
Test Log
Test Incident Report
Roles
Tester
Evaluate Exit Criteria & Reporting
Evaluate Exit Criteria
Compare results of test execution with the test objectives
Checking test logs against the exit criteria.
Reporting
Write a test summary report
Communicate test status
Report on test completion
Deliverable
Test Summary Report
Roles
Test Manager
Test Closure
Close incident reports or raise change requests
Check all deliverables have been delivered
Document the acceptance of the system
Analyse and document any "lessons learned"
Deliverable
Test Completion Report
Roles
Test Manager
Tester vs Developer
Tester points out problem
testers are perceived as delaying the project by finding faults in the system
if development slips, tester need to work extra hours
cause resentment
Developers thinks their system is perfect
Independence Test Team vs Developer
Developers
Being blind to see own mistakes
No need for familiarization
Independence Test Team
Unbiased
Need for familiarization
need test Know-how
Ways to improve communication
Communicate findings on the product in a neutral, fact- focused way without criticizing the person who created it
Start with collaboration rather than battles
remind of the common goal of better quality systems
Try to understand how the other person feels and why they react as they do
Confirm that the other person has understood what have been said and vice versa
Ethics of Testing
Public
Certified software testers shall act consistently with the public interest.
Client and Employer
Certified software testers shall act in a manner that is in the best interests of their client and employer, consistent with the public interest.
Product
Certified software testers shall ensure that the deliverable they provide (on the products and systems they test) meet the highest professional standards possible
Judgement
Certified software testers shall maintain integrity and independence in their professional judgment.
Management
Certified software test managers and leaders shall subscribe to and promote an ethical approach to the management of software testing.