Introduction to Software Testing
When to consider that a software has bugs?
- do the product specification doesn't mention
- doesn't do the product specification doesn't mention but should
- difficult to understand, hard to use, or anything that a tester view as not right to end user
- do a thing that the product specification says shouldn't
Reasons bugs occur in Software Development
volatile requirements(requirement always change)
missing requirements / requirements are not well documented
lack of communication
Definition of Software Testing
a process by which people, methods, measurements, tools and equipment are integrated to test a software product
Process : a quality process and planning determines the success of the test effort
People : need trained and skilled people with the right and positive attitudes(professional discipline)
Methods : different methods and techniques to be applied
Measurements : calculate the quality of software product
Tools and Equipments : variety tools to make testing more efficient and faster
Basic Forms of Testing
Validation : requirements for a specific intended use have been fulfilled
Verification : specified requirements have been fulfilled
Objectives of Software Testing
- To produce a quality software product, which the software can be used and used successfully
- To bring the tested software, after correction of identified errors and retesting(implementation), to an acceptable level of quality
- To identify & reveal as many errors as possible in the tested software
- To compile a record of software errors for use in error preventation
- To perform the required tests efficiently and effectively, within budgetary and scheduling limitations
General Failure Terminology(include relationship)
- Fault : incorrect behavior of program in response to real-world resulting from errors
- Failure : system does not perform required function within specified limits
- Error : human action produce incorrect result
Relationship : A person makes an error -> leading to a fault in the program -> causing a failure in operation
Critical Choices
- When to test? : test early
- How to test? : test effectively and cost-effectively
- What to test? : Test right things
Fundamental of Test Process
- Test implementation and test execution
- Test evaluation of the test exit criteria
- Test analysis and test design
- Post testing activities : Review
- Test Planning and Control
Types of Software Testing
System Testing
Performance Testing
regression Testing
Integration Testing :
User Acceptance Testing
- Unit Testing :
Usability Testing
Good Tester
relentless
creative
troubleshooters
good judgement
tactful and diplomatic
explorers
- does not meet product specification says