IJCSNS International Journal of Computer Science and Network Security, VOL.18 No.2, February 2018 112 Manuscript received February 5, 2018 Manuscript revised February 20, 2018 Overview of Software Testing Standard ISO/IEC/IEEE 29119 Hesham Alaqail Shakeel Ahmed King Faisal University, College of Computer Science and Information Technology, Department of Computer Science, Saudi Arabia Summary Software testing is an essential part of software development cycle. It is considered an important activity where software is validated in compliance to requirements and specifications. Mostly, software testing is relevant to poor execution and documentation, causing additional burden on software companies or purchasers. Estimates show that 20% to 80% of total cost of software projects is spent on testing activities. Since no software can be perfect, the cost spent on testing activities is worthy especially in safety-critical systems. This paper provides an overview of ISO/IEC/IEEE 29119 software testing standard. The included parts of the standard are: concepts and definitions, test processes, test documentation, test techniques and keyword- driven test. Keywords: software testing; ISO standard; test process; ISO/IEC/IEEE 29119. 1. Introduction Software testing is an essential part of software development cycle. Normally, to ensure the operation of any written piece of code, there must be a testing phase to discover whether the code reacts as intended [1]. The main aim of software testing is to detect defects. As per IEEE Standard 610.12-1990, software testing is defined as “The process of analyzing a software item to detect the differences between existing and required conditions (that is, bugs) and to evaluate the features of the software items” [2]. In spite of the definition, testing cannot be a separate process from software development cycle. However, it is believed that software testing existed before the establishment of development life cycles. According to references, the early software testing activity was made at 1954. In reference to today’s estimates, the cost spent on testing phase vary from 20% up to 80% particularly for critical-safety systems. The estimates are assumed to be for the full life cycle of the software systems. Historically, software testing was attached with high cost and poor coverage of testing standards professionally and academically. New international software testing standard was formed by International standardization organization (ISO) and International Electrotechnical Commission (IEC) in the year 2013 [1]. ISO/IEC/IEEE 29119 is a standardization series novel which covers systems and software engineering testing. The first aim of such series is to create a set of standards that agreed internationally. The second aim is to have adaptable standards for different organizational scenarios that cope up with current technological advancement in software development [3]. The new international standard is envisioned to be more comprehensive by covering various level of testing processes. I addition, it is meant to cover documentation, design test techniques, testing vocabulary and concepts [1]. In this paper, an overview of ISO/IEC/IEEE 29119 pertaining software testing is given which focuses on some aspects such as concepts and definitions, testing processes, testing documentation, test design techniques and keyword-driven test. The rest of the paper is constructed as follow: fundamental software testing model, concepts and definitions, testing processes, testing documentation, test design techniques and keyword-driven test and conclusion. 2. Fundamental Software Testing Model The new software testing model is based on a fundamental testing model where processes testing form the core of the model in addition to three more basic entities illustrated below in Figure 1. Documentation is generated as final result of performing processes test cases providing description of the output. Techniques entity is derived from requirements to be used for designing test cases. The used terminologies by other model’s part are labeled as concepts and definitions. Fig. 1 New fundamental testing model. The covered test process of the fundamental model executes at three different levels, those levels are illustrated at Figure 2 [1]. The organizational test process refers to the activities among several projects across the organization. Therefore, it contributes to the creation,