Software testing articles on concepts and issues

Page 1

https://www.eduzhai.net/ 2nd INTERNATIONAL CONFERENCE ON ADVANCED COMPUTING AND SOFTWARE ENGINEERING (ICACSE-2019)

Software Testing: Concepts and Issues Anshita Malviya1 Abstract—The utmost requirement of every individual is the Quality Product. To produce quality software we resort to the testing. About three decades ago, testing consumed more than 50% of the total time and cost expended in the development of the software which still exists today. The main reason behind the fact is that software development is mostly done by humans. We cannot develop software which needs not to be updated in its lifespan. As the software evolves the testing process should also evolve with it. This paper presents concept of Software Testing and also focuses on the burning research issues in Software Testing. Keywords: Quality, Error, Fault, Failure, Issues

Find your perfect share file on eduzhai.net.

 I.

INTRODUCTION 1

Software testing is a vital phase of software development process. Testing refers to the process of executing the software or the part of the software with the intent of finding the errors. Testing can depict that errors are present, it cannot show its absence [10]. Software testing is a very expensive process and it consumes about one third to one half of the cost of a typical development project. The importance of software testing increases as software evolves more and more into our day to day lives. Software testing is one of the important phase of software development life cycle (SDLC). We can classify software testing into two major groups: Defect testing and Statistical testing. Defect testing means to find the faults in the software whereas Statistical testing means to measure the reliability of the software. Defect testing can be classified in two groups which are Static testing and Dynamic testing. Some of the techniques of static testing are Walkthrough, Code inspections, Views, Formal proofs, etc. Whenever we use testing it always refers to Dynamic testing. Some of the techniques of Dynamic testing are Black box or Functional testing, White box or Structural testing, Heuristic Testing (Error guessing) and Interface Testing. The Black box testing is further classified as Boundary Value Analysis (BVA), Equivalence Class Partitioning, Decision Table Based Testing and Cause Effect Graphing. The White box testing consists of Basis Path Testing, DD Path Testing and Data Flow Testing. The remaining part of the paper consists of the following sections. Section 2 describes why we test. Error, Faults and Failures are explained in section 3. Section 4 presents the idea about the concept of Test, Test Case and Test Suite and also presents Test case identification approach. Section 5 discusses the debate on Functional and Structural testing. Boundary Value Testing Technique 1B.Tech

Student, Rajkiya Engineering College, Sonbhadra, Uttar Pradesh (India) E-mail: anshitamalviya2010@gmail.com

is described briefly in section 6. Section 7 tells about the current challenges and research issues in software testing. Section 8 concludes. II. WHY DO WE TEST? There are three main reasons of software testing. Firstly software testing is used to make the judgement about the quality and the acceptability of the software. Secondly it is used to discover the problems found in the software. And lastly we are fallible that is we all make mistakes, some of those mistakes are unimportant but some of them are dangerous and expensive. There is a need to check everything and anything we produce because things can go wrong—humans make mistake all the time. III. ERRORS, FAULTS AND FAILURES Software testing process involves confusing terminologies, errors, faults and failures are one of them. They are synonyms to each other. They all mean a state in which the software fails to perform its task but in technical terms they all have the unique meaning. Error: Humans make errors. It can also be said as mistakes. The mistakes can be made by people in their actions or the products that result from their actions. It can occur almost everywhere. When determined about the errors in ones thought, actions and the products generated, we should resort to the process of testing. The mistakes done at the time of coding is referred to as bugs. Fault: A fault is the consequence of an error. It is the depiction of an error, where depiction is the means of expression such as narrative text, DFD, source code, etc. It can also be said as defect. It can be evasive. It is the illustration of one or more errors. Failure: Failure is the impotence of a system to carry out required function according to its specification. When fault executes then the failure is said to occur. The departure from system’s required behaviour is said to be failure. It arises when a faulty piece of code is accomplished leading to an imprecise state that propagates to the program’s output.

Electronic copy available at: https://www.eduzhai.net/ ?


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.