iso 29119 and software testing - now what??

42
SW Testing ISO 29119 now what ?

Upload: faber-d-giraldo

Post on 06-Aug-2015

267 views

Category:

Engineering


4 download

TRANSCRIPT

SW TestingISO 29119now what ?

Sources• ISO/IEC/IEEE 29119-2013

http://www.iso.org/iso/catalogue_detail.htm?csnumber=45142

The ugly true

The ugly true

Source; https://image-store.slidesharecdn.com/b8770120-d36f-48ca-a9a1-b6de955a8d8b-original.jpeg

The ugly true

A first overview• In 2013 ISO defined a new standard (29119) to

gather all the knowledge around testing:

• ... it define an internationally agreed set ofstandards for software testing that can be usedby any organization when performing any form ofsoftware testing… (ISO 29119 Part I)

A first overview• http://www.softwaretestingstandard.org/• http://in2test.lsi.uniovi.es/gt26/?lang=es

In 2014 appeared the first negative reactions• http://www.infoq.com/news/2014/09/software-

testing-reaction• http://www.satisfice.com/blog/archives/1464

However• As Software Engineering professional you must

know the impact and implications of this newsoftware testing standard

• Part 1: Concepts and definitions• Part 2: Test processes• Part 3: Test documentation• Part 4: Test Techniques• Part 5: Keyword-driven testing

Software testing is necessary because:- Information on the quality characteristics of the test item(s) is required by decision makers;

- The test item(s) being tested does not always do what it is expected to do;

- The test item(s) being tested needs to be verified;

- The test item(s) being tested needs to be validated; and/or

- Evaluation of the test item(s) needs to be conducted throughout the software and system development life cycle.

ISO 29119 conformanceThe ISO/IEC/IEEE 29119 software testing series of standards contain three standards where conformance may be claimed:

- test processes (Part II);

- test documentation (Part III);

- test techniques (Part IV).

ISO 29119 main considerationsSoftware testing should focus on providing information about a software product and finding as many defects as possible, as early as possible in the development process, under given constraints of cost and schedule.

Testing considerations include:

- Testing is a process. A process is a set of interrelated orinteracting activities that transforms inputs into outputs. Theobjective of ISO 29119 is to present and describe generictesting processes.

- The organizational test process sets and maintains the testpolicies and test strategies that apply across the organization'sprojects and functions.

ISO 29119 main considerations (II)- Testing should be planned, monitored and controlled.

ISO/IEC/IEEE 29119-2 Test processes includes a test management process, and can be applied to testing in all development life cycles and the management of exploratory testing.

- Testing processes and sub-processes can be applied to any phase or level of testing (e.g. system testing) or type of testing (e.g. performance testing).

- Testing entails examining a test item.

- Testing can be carried out on a product without executing the product on a computer (static testing).

- Static testing may also include the use of static analysis tools which find defects in the code or documents without the code executing (e.g. a compiler, a cyclomatic complexity analyser, or a security analyser for code).

ISO 29119 main considerations (III)- Dynamic testing consists of more than "just" running executabletest items; it also includes both preparation activities and follow-upactivities.

- Verification is confirmation, through the provision of objectiveevidence, that specified requirements have been fulfilled in a givenwork item.

- Validation demonstrates that the work item can be used by theusers for their specific tasks.

- Testing, whether static or dynamic, should aim to provide bothtypes of confirmation, though with the expectation that confirmationwill not be immediate because of the discovery of defects.

Test context

diagram

ISO 29119

The relationship between the generic test sub-process, test levels and test types

ISO 29119

Test Process – ISO 29119 Part 2

Organizational Test Process

Test Management Process

Test planning sub-process

Test monitoring and control sub-process

Test completion sub-process

Test dynamic test process

Testing & Support Processes for the Software Development Life Cycle

- Quality assurance;

- Project management;

- Configuration management;

- Process improvement

Testing & Quality assurance• Quality Assurance is a set of planned and systematic supporting

processes and activities required to provide adequate confidence that a process or work product will fulfil established technical or quality requirements.

• This is achieved by the imposition of methods, standards, tools, and skills that are recognized as the appropriate practice for the context.

• The Quality Assurance process uses the test results and other information to investigate, rank and report any problem (including any risk) in the design, planning or execution of the software engineering processes.

• Measures should be collected during testing, as they can provide information about the quality of test processes and/or test items and the effectiveness of their application on each project.

Project Management and Testing• Project management refers to the support processes that are used to plan

and control the course of a project including the management of the test project within the overall project.

• Regardless of who has responsibility for the individual processes, project management and test management processes are closely related

• The estimation, risk analysis, and scheduling of the test activities should be consolidated with the overall project planning. The project plan, which is an information item from the project management process, is therefore an input to the test management process when it is used for managing the test project.

• During the course of the test project, measurements collected from detailed test activities are analyzed by the test manager and communicated to the project manager for analysis in the project context.

Configuration Management and Testing• Work products from the testing process, which can be placed under configuration

management, include:

• Organizational test specifications (e.g. Test Policy, Organizational Test Strategy);

• Test plans;

• Test specifications; and/or

• Test environment configuration items such as: test tools, test data(base), drivers and stubs.

• All three layers in the test process model defined in this standard can interact with configuration management.

• The configuration items provided to a test process are the work products the process needs as input and which are under configuration management.

• The configuration items delivered from a test process are the work products produced by the test process which need to be placed under configuration management.

Process Improvement and Testing• Process improvement takes actions to change an

organization’s processes so that they meet the organization’s business goals more effectively and efficiently.

• The test processes and the process improvement process interact in two ways:

1. The test processes deliver information on which process improvement actions can be based (along with information obtained from other sources); and

2. The test processes can themselves be subject to process improvement.

Testing practices (ISO 29119 critical contribution) (I)Requirements-Based Testing: • to ensure that the requirements of the test item have been addressed (i.e.

“covered”) during testing, to determine whether the test item meets end-user requirements

• In addition, it is used to collect and provide other valuable information to stakeholders during the life cycle, such as defects identified in the test item.

• Using requirements-based testing is highly-dependent on the context.

Model-Based Testing: • Model of the expected behaviour.

• 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.

Testing practices (ISO 29119 critical contribution) (II)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 modelling, for example:

- Stratified sampling;

- Fuzz testing;

- Cluster sampling; and

- Expert judgment sampling.

• Mathematical-based test practices can also be used to objectively sample the test case space using mathematically- based tools and techniques.

Testing practices (ISO 29119 critical contribution) (III)Experience-Based Testing

Previous testing experience;

• Knowledge of particular software and systems;

• Domain knowledge; and

• Metrics from previous projects (within the organization and from industry).

Scripted and Unscripted Testing

Other critical issues ISO 29119

Testing documentation

• ISO 29119 Part III

Testing design & implementation

• ISO 29119 Part IV

ISO 29119 part III

The hierarchy of test documentation

ISO 29119 part III

The hierarchy of test design and implementation documentation

ISO 29119 part IV

The set of test design techniques(please see the ISO 29119 IV in deep)

ISO 29119 part IV

Mapping of ISO/IEC 25010 product quality characteristics to types of testing (I)

ISO 29119 part IV

Mapping of ISO/IEC 25010 product quality characteristics to types of testing (II)

ISO 29119 part IV

Mapping of ISO/IEC 25010 product quality characteristics to types of test design (I)

ISO 29119 part IV

Mapping of ISO/IEC 25010 product quality characteristics to types of test design (II)

More and more!!

TMMi= Test Maturity Model and Integration

To improve the testing process and practices

• http://www.tmmi.org/

• http://www.tmmi.org/pdf/TMMi.Framework.pdf

TMMi overview

Finally• Commercial certifications

• ISTQB

• CAT

• Complementary material - Book: Software Testing and Quality Assurance - Theory and Practice

• https://ece.uwaterloo.ca/~snaik/MYBOOK1/

Questions?

Thanks!!