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.
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.
Learning materials
The information on learning materials will be on the Moodle of the implementation.
Intro
In Software Testing, you will learn to evaluate the quality of a software product and find errors in it. You will get to know and apply a variety of methods to test the actual runtime behavior against the expected one. You will use current tools and learn when and how to automate testing. You should enroll if you aim to work, for example, as Software Tester, Software Developer, Scrum Master or Product Owner.
Starting level and linkage with other courses
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.
Assessment criteria
Assessment criteria - grade 1
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.