Please enable JavaScript.
Coggle requires JavaScript to display documents.
Software Testing (Fundationals of testing (Why is testing necessary? (Cost…
Software Testing
Fundationals of testing
Testing Principles
Fundamental test process
What is testing?
The psychology of testing
Why is testing necessary?
Cost
measue the quanlity of software
Cause: Human-> Error(mistake) -> Defect -> Faile
Give confidence in the quality
Test design Techniques
Structure-base or White-box technique
Statement Testing & Coverage ( Testing)
Decision Testing & Coverage ( Stronger than Statement)
Other Structure-based Techniques
Multiple Condition Testing
Condition Testing
All Path Testing ( Strongest)
Experience-based Techniques
Explovatory Testing
Error Guessing
Specification-based or Black-box techniques
Equivalence Partitioning
Boundary Value Analysis
Decision Tables
State Transition Diagrams/ Tables
Use Case Testing
Choosing Test techniques
Type of System & Dev Cycle
Regulatory Standards
Time & Budget
Risk & Objectives
Knowledge & Experience
Test Development: Process
Test Procedure Specification
Test Case Specification
Test Design Specification
Testing throughout the software life cycle
Test types: the targets of testing
structural
testing
The third target of testing is the structure of the system or component. If we are
talking about the structure of a system, we may call it the system architecture
Structural testing is most often used as a way of measuring the thoroughness
A system, system integration or acceptance testing test basis could be a
business model or menu structure
The techniques used for structural testing are structure-based techniques,also referred to as white-box techniques. Control flow models are often used to support structural testing
confirmation and regression
testing
The final target of testing is the testing of changes
The final target of testing is the testing of changes
Regression testing
Non-functional testing
interested in how well or how fast something is done
Non-functional testing includes, but is not limited to, performance testing, load testing, stress testing, usability testing, maintainability testing, reliability testing and portability testing. It is the testing of 'how well' the system works
all test level
Functional testing
Define
The function of a system (or component) is 'what it does'.
described in a requirements specification, a functional specification, or in
use cases
focusing on suitability, interoperability, security, accuracy and compliance.
Two perspectives
Requirements-based testing
Requirements-based testing
ist of items to test (or not to test)
Business-process-based testing
uses knowledge of the business processes
uses knowledge of the business processes
Maintenance testing
Impact analysis and regression testing
testing the changes
regression tests to show that the rest of the system has not been affected by
the maintenance work.
Triggers for maintenance testing
Planned modifications
Ad-hoc corrective modifications
Test level
Acceptance testing
often the responsibility of the user or customer, although other stakeholders
may be involved as well.
establish confidence in the system
Component testing
The testing of individual software components
Also known as unit, module and program testing
May include testing of functionality and specific nonfunctional
Using stub and drive
Link Title
Used in Extreme Programming (XP)
System testing
concerned with the behavior of the whole system/product as
defined by the scope of a development project or product
should investigate both functional and non-functional
requirements of the system
Based on risks and/or requirements specification, business processes, use cases,
or other high level descriptions of system behavior, interactions with the operating system, and system resources
A system test is executed by the development organization in a (properly controlled) environment.
Integration testing
Top-down
Button up
Functional incremental
tests interfaces between components, interactions to different parts of a system such as an operating system, file system and hardware or interfaces between systems
level integration testing
Component integration testing
System integration testing
Software Development Models
Interative life cycles
RAD Model (Rapid Application Developer)
Test within a
life cycle model
testers should be involved in reviewing documents as soon as drafts are avail able in the development cycle
he analysis and design of tests for a given test level should begin during the corresponding development activity
each test level has test objectives specific to
that level
for every development activity there is a corresponding testing activity
Agile Development
It promotes the generation of business stories to
define the functionality
It states that we always implement the simplest solution to meet today's problems.
It states that integration and testing of the code shall happen several times a day.
It demands an on-site customer for continual feedback and to define and carry out functional acceptance testing.
It states that component test scripts shall be written before the code is written and that those tests should be automated
It promotes pair programming and shared code ownership amongst the developers.
V-Models
Static Techniques
Activities of Formal Review
Individual Preparation
Review Meeting
Rework
Kick-off
Follow-UP
Planning
Static Analysis by Tools
Find defects in software sourcecode and models
Can locate defects that are hard to locate in dynamic testing
Review Types
Technical Review
Walkthrough
Informal Review
Inspection