Professional Documents
Culture Documents
ISTQB Foundation Level Course
ISTQB Foundation Level Course
Overview of
ISTQB Foundation Level
Fundamentals Of Testing
Static Techniques
Test Management
▌ Objectives:
Finding Defects.
Gaining confidence about level of quality.
Providing information for decision making.
Preventing defects
Loss of money
Time or business reputation
Injury or death.
Technical risks
Safety Aspects
Business Risks
Project constraints such as time and budget
Early Testing
Defect Clustering
▌ If the same tests are repeated over and over again, eventually
the same test cases will no longer find new bugs
▌ If the system built is unusable and does not fulfil the user’s
needs and expectations then finding and fixing defects does not
help.
▌Involves:
Reviewing Test Basis
Prioritizing test conditions based on analysis of test items
Designing and prioritizing high level test cases
Designing test environment setup and identifying any required
tools
Creating bi directional traceability between test basis and test
cases
▌Tasks involves:
Creating test data and writing automated test scripts
Verify test environment has been setup correctly
Updating bi-directional traceability between test basis and test
cases
Execution and logging outcome of test execution and comparing
actual with expected result
Reporting discrepancies as incidents
Repeating test activities as a result of action taken for each
discrepancy
▌Tasks involves:
Checking Test logs against Exit criteria
Assessing if more tests are needed of if exit criteria specified
should be changed
Writing a test summary report for stakeholders
▌Tasks involves:
Checking all planned deliverables have been delivered
Documenting acceptance of system
Analyzing lessons learnt to determine changes needed for future
release and projects
Using information gathered to improve test maturity
What is Testing?
Flash cards
▌Occurs with access to the code being tested with the help of test
framework or debugging tool
▌Stubs and drivers are used to replace the missing software and
simulate the interface between the software components in a
simple manner
Component requirement
Detailed design
Code
Regression testing:
Purpose is to verify that
modifications in the software
or the environment have not
caused unintended adverse
side effects
▌Involves:
No formal process
May take the form of pair programming or technical lead
reviewing designs and code
Results may be documented
Main Purpose: Inexpensive way to get some benefit
▌Static analysis tools analyze program code (e.g. control flow and
data flow)
▌Value is:
Early detection prior to test execution
Early warning about suspicious aspects of code by calculation of
metrics
Improve maintainability of code and design
Prevention of defects
55 © NEC Corporation 2015 NEC Group Internal Use Only
Static Analysis by Tools (2/2)
Flash cards
This basis for the tests is called the 'test basis'. It could be a
system requirement, a technical specification, the code itself (for
structural testing), or a business process. Sometimes tests can
be based on an experienced user's knowledge of the system,
which may not be documented.
Once a given input value has been chosen, the tester needs to
determine what the expected result of entering that input
would be and document it as part of the test case.
▌The next step is to group the test cases in a sensible way for
executing them and to specify the sequential steps that need to
be done to run the test.
▌Equivalence Partitioning
▌Example:
Assume that the application accepts an integer in the range 100
to 999.
Valid Equivalence Classes: 100 to 999 inclusive
Non-valid Equivalence Class partitions: less than 100, more
than 999, decimal numbers and alphabets/non-numeric
characters.
▌Example:
▌Example:
a. SS-S1-S2-S4-S1-S3-ES
b. SS-S1-S2-S3-S4-ES
c. SS-S1-S2-S4-S1-S3-S4-S1-S3-ES
d. SS-S1-S4-S2-S1-S3-ES
Statement Coverage
Patch Coverage
Statement Coverage
Decision Coverage: 3
Statement Coverage: 3
72 © NEC Corporation 2015 NEC Group Internal Use Only
Experience-Based Techniques
▌ Error Guessing:
Success of error depends on skill of a tester.
Enumerate a list of possible defects and to design tests that
attack these defects (Also called Fault Attack)
List can be built based on experience, available defect and
failure data.
▌ Exploratory Testing:
Testers are involved in minimum planning and maximum
execution.
Involves concurrent test design and test execution
Most useful when there are inadequate specifications and
severe time pressure
▌Drawbacks include:
Isolation from development team
Developers may lose a sense of responsibility for quality
Independent testers may be blamed for delays in release
▌Test Planning
Is a continuous activity and is performed in all life cycle processes
and activities
▌Tasks includes
Determine the scope, risks and identify objectives of testing
Determining overall approach of testing, including Entry and
Exit criteria
Making decisions about what to test, how test activities should
be done and scheduling test analysis and design activities
▌Test Estimation
Approaches include:
▌Test Reporting
About effectively communicating our findings to other project
stakeholders
Test summary report is created for the same
▌Test Control
About guiding and corrective actions to try to achieve the best
possible outcome for the project. Ex:
Performance testing is normally run on weekday evenings during
off-hours in the production environment.
▌Project Risks
Risks that surround the project’s capability to deliver its objective
Organizational Factors
a. Skill, training and staff shortage
b. Problems with tester communicating test results
Technical issues
a. Problems in defining right requirements
b. Test environment not ready on time
Supplier issues
a. Failure of third party
▌Product Risks
Potential failures in the software or system are called Product risks
▌These include:
Failure prone software delivered
Potential that software/hardware could cause harm to company
Poor software characteristics, data integrity and quality
▌ Must include:
Summary
Incident description (inputs, expected results, actual results,
anomalies, date and time, procedure step, environment,
attempts to repeat, testers and observers)
Impact
▌Review Tools:
Storing and sorting review comments
Communicating comments to relevant people
Keeping track of comments
Repository for rules, procedures and checklist to be used
▌Test Comparators
Determine differences between files, databases or test results
Dynamic comparison of events that occur during test execution
▌Security tools
Identifying viruses
Detecting intrusions such as denial of service attacks
Simulating various types of external attacks
Probing for open ports or other externally visible points of attack
Identifying weaknesses in password files and passwords
▌Monitoring Tools
Keeps track of the status of the system
Analyze, verify and report on usage of specific system resources
Monitoring network traffic and sends alert
▌Important considerations: