The document discusses the fundamentals of software testing. It explains that testing shows the presence of defects but cannot prove their absence. There are different types of testing like unit testing, integration testing, and acceptance testing. Testing should start early in the development process and focus on defined objectives to reduce risk and help achieve quality. Key aspects of successful testing include clear objectives, collaboration, and courteous communication.
The document discusses the fundamentals of software testing. It explains that testing shows the presence of defects but cannot prove their absence. There are different types of testing like unit testing, integration testing, and acceptance testing. Testing should start early in the development process and focus on defined objectives to reduce risk and help achieve quality. Key aspects of successful testing include clear objectives, collaboration, and courteous communication.
error, defect, failures to find the cause and root cause: the actual problem cause of defects root cause: the root reason for mostly positive tests the problem
How can I make the system do Developer's mindset assess quality
what I want it to do? gain confidence Negative and positive tests find defects and failures Tester's mindset Psychology of Why testing is necessary What can go wrong? objectives of testing reduce risk testing Clear objectives help achieve quality Balance between self-testing and process improvement independence testing Key aspects of successful testing provide information Courteous factual communication Collaboration - not battles Product and Project How much testing depends Risk on... Time and Cost
Project constraints
More than "test execution"
non-execution of the code manual: reviews Static automated: static analysis finds defects What is testing? software is executed by running tests Fundamentals Dynamic manual or automated generates failures Controlling actions apply throughout the lifecycle development testing acceptance testing Different viewpoints needed Planning and Control maintenance testing Generate test conditions operational testing Analysis and Design Fundamental testing Design test cases process Build test procedures/scripts Principle 1: Testing shows the presence of defects Implementation and Execution but cannot prove there are no defects Run the most important tests first Principle 2: Exhaustive testing is impossible
provide information for Principle 3: Test activities should start as early as
decisions to be made Evaluation exit criteria and possible and should focus on defined objectives Reporting General testing Principle 4: Defect cluster - small number of Can we stop testing? principles modules have the most defects and cause the most Test closure activities problems Principle 5: Pesticide paradox - software become immune to our tests Principle 6: Testing is context dependent Principle 7: Absence of defects doesn't mean the system is okay.