Software TestingLaajuus (5 cr)

Course unit code: SOF012AS3AE

General information


ECTS credits
5 cr
Teaching language
English

Learning objectives

After completion, the student
- understands the fundamentals of software quality assurance and testing and their relation to software development life cycle,
- knows the strategies and types of testing and is able to apply them in a testing case,
- is able to plan, implement and execute relevant test cases for a testing case and evaluate their effectiveness and coverage based on feasible criteria,
- knows approaches for automating testing and is able to build automated test cases, and
- knows relevant quality assurance and testing related tools and understands how to use them to support testing.

Contents

An essential part of assuring the quality of a software product is to evaluate its actual runtime behaviour against its expected behaviour based on specifications, design and requirements.

In Software Testing, you will learn
- the fundamentals of software testing as a part of software quality assurance and its relation to the software development life cycle,
- the strategies and types of testing and to apply them in a testing case in order to to plan, implement and execute relevant test cases and evaluate their effectiveness and coverage based on feasible criteria, and
- approaches for automating testing and to plan and build automated test cases with an overall understanding on available tool support.

In Software Testing, the broader context of software quality assurance is introduced with its relation to the system development lifecycle and development models using concrete examples. Throughout the implementation, a testing case is used as an example and you will work on tasks illustrating different strategies and types of testing gaining practical experience in a concrete setting as well as learning to evaluate the testing and its results. Relevant tools are used to implement and automate the execution of test cases while discussing alternatives to provide an overall understanding of the available tools.

Lähtötaso ja sidonnaisuudet muihin opintojaksoihin

This course belongs to Degree Programme in Business Information Technology (ITBBA) and is under Software Development.

Successful participation requires basic understanding on programming and software development meaning completed Programming 1 (SOF001AS2AE) and Introduction to Software Development (SOF001IT1AE) or that the participant has the corresponding starting level. Software testing is related to the requirements, so knowledge on requirements analysis such as from Requirements Analysis (SOF002AS2A) is beneficial, but not required.

Implementation methods, demonstration and Work&Study

The implementations are blended and rely mostly on contact sessions, since many of the topics especially related to hands on contents such as usage of tools and practical examples benefit from learning using contact sessions. RPL and work & study are possible provided that the participant has either existing work experience on multiple software testing projects including the use of testing tools (RPL) or is working in the field of software testing. In the case of possible RPL or work & study, the teacher of the implementation should be contacted in the beginning of the implementation at the latest.

Assessment criteria - grade 1

When the implementation type of the course is CONTACT, ONLINE or BLENDED it is required that the student is present during those teaching hours that are marked in the study schedule. If you are absent more than 25 %, your grade will be lowered by one. If you are absent more than 50 %, the course is failed.

Student understands the fundamentals of software quality assurance and testing and can connect different types of testing to the phases in software development life cycle. Student can name different testing strategies and knows their meaning. Student is able to plan and implement test cases and knows how they can be executed and how their effectiviness and coverage could be measured. Student has a basic understanding of testing automation and relevant tools for testing and quality assurance.

Assessment criteria - grade 3

Student understands the fundamentals of software quality assurance and testing and can apply different types of testing in different phases in software development life cycle of a testing case. Student knows and is able to apply different testing strategies. Student is able to plan, implement and execute test cases in a testing case and knows how the effectiviness and coverage of testing is measured in the testing case. Student has a good understanding of testing automation and relevant tools for testing and quality assurance.

Assessment criteria - grade 5

Student understands the fundamentals of software quality assurance and testing and can select and apply feasible types of testing for different phases in software development life cycle of a testing case. Student knows and is able to analytically apply different testing strategies. Student is able to plan, implement and execute test cases in a testing case and is able to correctly evaluate the effectiveness and coverage of testing in the testing case. Student is able to automate test cases using relevant tools and has a very good understanding of relevant tools for testing and quality assurance overall.

Learning materials

The information on learning materials will be on the Moodle of the implementation.

Siirry alkuun