Software Testing - Part1
Software Testing - Part1
Deliyski
INTRODUCTION TO THE SOFTWARE TESTING
DEFINITIONS AND SOFTWARE LIFE CYCLE ACCORDING
TO ISO 29119-1
TEST PROCESSES ACCORDING TO ISO 29119-2
REFERENCES
Slide 2/52
INTRODUCTION TO THE SOFTWARE TESTING
Slide 3/52
ISO/IEC/IEEE 29119-1: CONCEPTS AND
DEFINITIONS
Testing – set of activities conducted to facilitate discovery and/or
evaluation of properties of one or more test items.
The primary goal of the testing is: to provide information about the
quality of the test item and any residual risk in relation to how much
the test item has been tested; to find defects in the test item prior to
its release for use; and to migrate the risk to the stockholders of poor
product quality.
Slide 4/52
ISO/IEC/IEEE 29119-1: CONCEPTS AND
DEFINITIONS
Software testing is necessary because:
• The test item(s) being tested does not always do what is expected
to do;
Slide 5/52
ISO/IEC/IEEE 29119-1: CONCEPTS AND
DEFINITIONS
Test item (object) – work product that is an object of testing.
Slide 6/52
ISO/IEC/IEEE 29119-1: CONCEPTS AND
DEFINITIONS
Decision – types of statements in which a choice between 2 or more
possible outcomes controls which set of actions will result.
Slide 7/52
ISO/IEC/IEEE 29119-1: CONCEPTS AND
DEFINITIONS
Test case – set of test preconditions, inputs (including actions,
where applicable), and expected results, developed to drive the
execution of a test item to meet test objectives, including correct
implementation, error identification, checking quality, and other
valued information.
Test basis – body of knowledge used as the basis for design of test
cases
Slide 8/52
ISO/IEC/IEEE 29119-1: CONCEPTS AND
DEFINITIONS
Dynamic testing – testing that requires the execution of test items.
Slide 9/52
ISO/IEC/IEEE 29119-1: CONCEPTS AND
DEFINITIONS
Specification-based testing (black-box testing) – testing in which
the principal test bases is the external input and outputs of the test
item, commonly based on a specification, rather than its
implementation in source code or executable software.
Slide 10/52
ISO/IEC/IEEE 29119-1: CONCEPTS AND
DEFINITIONS
Test plan – detailed description of test objectives to be achieved and
the means and schedule for achieving them, organized to coordinate
testing activities for some test item or set of test items.
The project test plan describes the overall strategy for testing and
the test processes to be used. It established the context of testing for
the project by determining the objectives, practices, resources, and
schedule.
The test plan also describes the appropriate test design techniques
(static or dynamic) to use in order to complete the testing required by
the sub-process plan.
Slide 11/52
ISO/IEC/IEEE 29119-1: CONCEPTS AND
DEFINITIONS
Test procedure – sequence of test cases in execution order, and
any associated actions that may be required to set up the initial
preconditions and any wrap up activities post execution.
Test strategy – part of the test plan that describes the approach to
testing for a specific test project or test sub-process or sub-
processes
Slide 12/52
ISO/IEC/IEEE 29119-1: CONCEPTS AND
DEFINITIONS
Test process – used to provide information on the quality of a
software product, often comprised of a number of activities, grouped
into one or more test sub-processes.
Test Sub-process:
• Test Objectives
• Test Item
• Testing of Quality Characteristics
• Test Basis
• Retesting and Regression Testing
• Test Design Techniques (static and dynamic)
Slide 13/52
ISO/IEC/IEEE 29119-1: CONCEPTS AND
DEFINITIONS
Development of sub-processes:
Completed
system
Slide 14/52
ISO/IEC/IEEE 29119-1: CONCEPTS AND
DEFINITIONS
Test management – planning, scheduling, estimating, monitoring,
reporting, control and completion of test activities.
Slide 15/52
ISO/IEC/IEEE 29119-1: CONCEPTS AND
DEFINITIONS
Slide 16/52
ISO/IEC/IEEE 29119-1: CONCEPTS AND
DEFINITIONS
Software Life cycle models:
Slide 17/52
ISO/IEC/IEEE 29119-1: CONCEPTS AND
DEFINITIONS
Test Practices
Requirements-Based Testing
• to ensure that the requirements of the test item have been addressed
(covered) during testing, to determine whether the test item meets end-user
requirements.
• It is also used to collect and provide other valuable information to
stakeholders during the life cycle, such us defects identified in the test item.
• Using requirement-based testing is highly dependent on the context.
Model-Based Testing
• Model of the expected behavior
• With model-based testing the model has to be formal enough and/or
detailed enough so that useful test information can be derived from the
model.
Slide 18/52
ISO/IEC/IEEE 29119-1: CONCEPTS AND
DEFINITIONS
Test Practices
Mathematical-Based Testing
Mathematical-based test practices can be used to plan, design, select data
and set-up input conditions when the test item input or output space can be
described in sufficient detail.
• Combinatorial testing;
• Random test case selection;
Statistical modeling as:
• Fuzzy testing
• Stratified sampling;
• Cluster sampling;
• Expert judgment sapling.
Slide 19/52
ISO/IEC/IEEE 29119-1: CONCEPTS AND
DEFINITIONS
Test Practices
Experience-Based Testing (trial and error)
Slide 20/52
ISO/IEC/IEEE 29119-1: CONCEPTS AND
DEFINITIONS
Verification – conformation, through the provision of objectives
evidence, that specified requirements have been fulfilled in a given
work item.
Slide 21/52
ISO/IEC/IEEE 29119-1: CONCEPTS AND
DEFINITIONS
Slide 22/52
ISO/IEC/IEEE 29119-1: CONCEPTS AND
DEFINITIONS
Automation in Testing
Slide 23/52
ISO/IEC/IEEE 29119-1: CONCEPTS AND
DEFINITIONS
Slide 24/52
ISO/IEC/IEEE 29119-2: TEST PROCESSES
Slide 25/52
ISO/IEC/IEEE 29119-2: TEST PROCESSES
Slide 26/52
ISO/IEC/IEEE 29119-2: TEST PROCESSES
Slide 27/52
ISO/IEC/IEEE 29119-2: TEST PROCESSES
Slide 28/52
ISO/IEC/IEEE 29119-2: TEST PROCESSES
Slide 29/52
ISO/IEC/IEEE 29119-2: TEST PROCESSES
Slide 30/52
ISO/IEC/IEEE 29119-2: TEST PROCESSES
Outcomes:
• The requirements for organizational test specifications are
identified;
• The organizational test specifications are developed;
• The organizational test specifications are agreed to by the
stakeholders;
• The organizational test specifications are made accessible;
• Conformance to the organizational test specifications is monitored;
• Updates to organizational test specifications are agreed to by
stakeholders;
• Updates to the organizational test specifications are made.
Slide 31/52
ISO/IEC/IEEE 29119-2: TEST PROCESSES
Slide 32/52
ISO/IEC/IEEE 29119-2: TEST PROCESSES
Outcomes:
• The scope of work of the test project is analyzed and understood;
• The stakeholders who will participate in the test planning are
identified and informed;
• Risks that can be treated by testing are identified, analyzed and
classified with an agreed level of risk exposure;
• Test strategy, test environment, test tools and test data are
identified.
Slide 33/52
ISO/IEC/IEEE 29119-2: TEST PROCESSES
Slide 34/52
ISO/IEC/IEEE 29119-2: TEST PROCESSES
Slide 35/52
ISO/IEC/IEEE 29119-2: TEST PROCESSES
Slide 36/52
ISO/IEC/IEEE 29119-2: TEST PROCESSES
Outcomes:
• The means of collecting suitable measures to monitor test process
and changing risk are set up;
• Progress against the test plan is monitored;
• New and changed test-related risks are identified, analyzed and
necessary action(s) invoked;
• Necessary control actions are identified;
• Necessary control actions are communicated to the relevant
stakeholders;
• The decision to stop testing is approved;
• Test progress and changes to the risks are reported to the
stakeholders.
Slide 37/52
ISO/IEC/IEEE 29119-2: TEST PROCESSES
• Test Plans,
• Test Case specifications,
• Test scripts,
• Test tools,
• Test data,
• Test environment infrastructure.
Slide 38/52
ISO/IEC/IEEE 29119-2: TEST PROCESSES
Slide 39/52
ISO/IEC/IEEE 29119-2: TEST PROCESSES
Outcomes:
• Test assets are either archived or passed directly to the relevant
stakeholders;
• The test environment is in its agreed state (so that it is available for
the next project)
• All test requirements are satisfied and verified;
• The test Completion Report is recorded;
• The test Completion Report is approved;
• The test Completion Report is communicated to relevant
stakeholders.
Slide 40/52
ISO/IEC/IEEE 29119-2: TEST PROCESSES
Slide 41/52
ISO/IEC/IEEE 29119-2: TEST PROCESSES
Outcomes:
• The Test bases for each test item is analyzed;
• The features to be tested are combined into Feature Sets;
• The Test Conditions are derived;
• The Test Coverage Items are derived;
• Test cases are derived;
• Test sets are assembled;
• Test Procedures are derived.
Slide 42/52
ISO/IEC/IEEE 29119-2: TEST PROCESSES
Slide 43/52
ISO/IEC/IEEE 29119-2: TEST PROCESSES
Outcomes:
• The Test environment is set-up in a state ready for testing;
• The status of test environment is communicated to all relevant
stakeholders;
• The test environment is maintained.
Slide 44/52
ISO/IEC/IEEE 29119-2: TEST PROCESSES
Slide 45/52
ISO/IEC/IEEE 29119-2: TEST PROCESSES
Outcomes:
• The Test Procedure/s is/are executed
• The actual results are recorded
• The actual and expected results are compared
• The test results are determined.
Slide 46/52
ISO/IEC/IEEE 29119-2: TEST PROCESSES
Test Execution
Process
Test
Test Test Execution
Execution Test Outcome Compare Results Record Test Log
Procedure(s) Test Results Execution
Slide 47/52
ISO/IEC/IEEE 29119-2: TEST PROCESSES
Slide 48/52
ISO/IEC/IEEE 29119-2: TEST PROCESSES
Test Incident
Reporting Process
Incident
Report Incident
Updates Report
Analyze Test Create/Update
Results Incident Report
Inputs
- Test results;
- Test procedures(s);
- Test cases;
- Test item;
- Test bases;
- Test execution log (where available)
Slide 49/52
ISO/IEC/IEEE 29119-2: TEST PROCESSES
Outcomes:
• Test results are analyzed;
• New incidents are confirmed;
• New incident report details are created;
• The status and details of previously-raised incidents are
determined;
• Previously-raised incident report details are updated as appropriate
• New and/or updated incident reports are communicated to the
relevant stakeholders.
Slide 50/52
ISO/IEC/IEEE 29119-2: TEST PROCESSES
За упражнения
Slide 51/52
REFERENCES
https://www.slideshare.net/fdgiraldo/iso-29119-and-sw-testing
https://www.ida.liu.se/~TDDB62/www-pub-01/lectures/testing.pdf
https://melsatar.wordpress.com/2012/03/15/software-development-life-
cycle-models-and-methodologies/
Slide 52/52