The purpose of this paper is to summarize the work of many researchers and present to the reader their findings about the whole process of automated white-box testing. Topics like advantages and disadvantages, planning, and different techniques will be examined. This paper addresses.This document seeks to provide information about the testing process in the software development lifecycle. It will investigate the significance of testing process, and more specifically what a white-box testing is, what part of it could be automated.
Some automated white-box techniques will be examined along with their advantages and disadvantage.
In the past few years our world experienced a huge technological jump. New cutting-edge technologies arise every day. Along with the new technologies the need of new software products increases accordingly. Nowadays the software is an inseparable part of our lives. It controls our cars, phones, even washing machines. Along with the need of it, the complexity increases too. Software development process includes multiple activities: planning, implementation, testing, documentation, deployment and maintenance.
Software testing is a vital part of the software development lifecycle. Some researches have estimated that more than 50 percent of the overall software effort is dedicated to the testing phase [1]. The purpose of it is to ensure the quality and the productivity of the software products. Software testing is the process to uncover requirements, design and coding errors in the program. Based on the initial information that we have before we start the actual testing process, there are two main testing techniques: Black-box and White-box testing.
We will talk about hem in the next chapter.
White Box Testing technique is defined as an in-depth investigation of the structure of the code and the software product internal logic. It is also known as clear, glass box or structural testing as it designs test cases based on the information derived from source code[3]. Unlike the Black Box Testing, where the tester doesn’t need to know anything about the internal structure of the code, in this type of testing the tester needs to have a complete access and full knowledge of the source code.[x]
White box testing is based on exhausting all possible test cases based on the structure of the procedural design. It is suitable for testing at all integration, unit and system levels. The white box tester (in most cases this is the developer of the code) knows the code and executes different case scenarios with different test case parameters. For the white box testing all of the code has to be written before we can determine any of the test cases. Main concern of the white box testing is the internal mechanism of the system, it concentrates on the data flow or control flow of the programs[3].One of the most common white box testing techniques are listed below:
Control Flow Testing/Coverage Testing: It is a structural testing approach which is focused on execution order of statements. In this technique the tester selects a specific path from the program for testing. This strategy uses the program control flow as it executes multiple short paths instead of fewer complex paths. It is usually used in unit testing.
Control Flow Testing/Coverage Testing limitations:
Statement coverage It measures the percentage of statements that have been executed by test cases. Statement coverage less than 100% means not all lines of code have been executed. Goal of white-box testing is to execute each and every path in the program but it becomes unfeasible if the path contains a loop
Basis Path Testing. A testing mechanism proposed by McCabe. It is a structure testing technique which is used to design multiple test cases in order to track all possible paths of program execution at lease once. The main objective is to test all possible paths. The technique ensures that all predetermined paths are taken at least once, which will ensure 100% branch coverage and 100% statement coverage.
Path 1: 1 – 2 – 5 – 7
Path 2: 1 – 2 – 5 – 6 – 7
Path 3: 1 – 2 – 3 – 2 – 5 – 6 – 7
Path 4: 1 – 2 – 3 – 4 – 2 – 5 – 6 – 7
Data Flow Testing: It is related to the program execution and how different data values are allocated to the corresponding variables. It is not only part of tracking program control flows but it explores variables definitions and use. Data Flow Testing tracks multiple sub-paths from the point where variables are defined to the point where they are referenced. These sub-paths are termed as du-pairs. Common errors spotted during the testing:
Loop Testing: With increasing the software complexity, statement and branch coverage are not enough. Thus many software products undergo loop testing as an integral part of the whole testing process. Usually, loop testing is not complex unless there are multiple dependencies in our program.
Single Loop Strategy
Nested Loop Strategy
Concatenated Loops
Reveals Initialization Issues – It gives a chance to the tester to spot any issues which occur at the beginning of the loop. Finding problems which prevent the algorithm from running through its course is a great test starting point. Loop Testing is a good approach to fix such starting hiccups.
Uninitialized Variables Come To Light – While the loop is running, all untouched or uninitialized variables come to the forefront. That allows correction actions to be taken in order to sort the problem.
Loop Repetition Issues Are Revealed – If the loop is running repeatedly, with no end in sight and as such causing trouble, then such critical performance issues are revealed timely. Moreover, the exact point of trouble gets pinpointed in a timely manner and that prevents other related issues from arising in the future.
Reveals Performance Bottlenecks If all tasks are getting jammed or lined up at any given point in the loop, then such significant performance problems are also exposed. Such bottlenecks reduce the efficiency and reliability of the software by increasing its execution time considerably.
Automated Tools Supporting White-Box Testing
Selecting the right white box automated technique is am important decision which the developers have to take into consideration.
Remember! This is just a sample.
You can get a custom paper by one of our expert writers.
Get your custom essay
Helping students since 2015
Essay Writing Service Features
Our Experience
No matter how complex your assignment is, we can find the right professional for your specific task. Contact Essay is an essay writing company that hires only the smartest minds to help you with your projects. Our expertise allows us to provide students with high-quality academic writing, editing & proofreading services.Free Features
Free revision policy
$10Free bibliography & reference
$8Free title page
$8Free formatting
$8How Our Essay Writing Service Works
First, you will need to complete an order form. It's not difficult but, in case there is anything you find not to be clear, you may always call us so that we can guide you through it. On the order form, you will need to include some basic information concerning your order: subject, topic, number of pages, etc. We also encourage our clients to upload any relevant information or sources that will help.
Complete the order formOnce we have all the information and instructions that we need, we select the most suitable writer for your assignment. While everything seems to be clear, the writer, who has complete knowledge of the subject, may need clarification from you. It is at that point that you would receive a call or email from us.
Writer’s assignmentAs soon as the writer has finished, it will be delivered both to the website and to your email address so that you will not miss it. If your deadline is close at hand, we will place a call to you to make sure that you receive the paper on time.
Completing the order and download