Model-based software development with UML is becoming a de facto standard in industry. But there is need for more study of actual use of UML in software development companies, especially in ensuring the relevance of research on model-driven development with respect to testability and reliability when using UML.Software testing is an empirical investigation that is conducted to provide developers and other stakeholders with information about the system under test. The primary purpose of software testing is to detect software failures so that defects may be uncovered and corrected.Mutation analysis is a fault-based testing technique that uses mutation operators to introduce small changes into a program or specification, producing mutants, and then chooses test cases to distinguish the mutants from the original program. Mutation operators differ in the coverage they get. They also differ in the number of mutants they generate. As a consequence, selecting mutation operators is a major problem whose solution affects the effectiveness and cost of mutation analysis.This thesis explores software testing as its main theme, especially model-based testing. In this attempt, we present a case study of a major multi-national company with the core business area of development of mechatronics1 systems with embedded software. This case study is based on experiences of a previous case study conducted at the company which this thesis focuses. I also show in this thesis how mutation analysis can be applied to a test program.
1 Mechatronics is (Mechanical and Electronic Engineering) is the combination of mechanical engineering, electronic engineering and computer engineering