Research Paper: Structural Testing in Software Testing and Evaluation

Pages: 11 (3256 words)  ·  Bibliography Sources: 9  ·  Level: Doctorate  ·  Topic: Education - Computers  ·  Buy This Paper

Structural Testing in Software Testing and Evaluation

Software testing and evaluation is a necessary practice in computing owing to its ability in providing stakeholders with information concerning the effectiveness and quality of products under evaluation. Its capability to present independent and objective view of the software's extends business with the ability to understand and appreciate the risks that may come with the implementation of the products and services in question (Copeland, 2004). The process, which continues to present challenges to the stakeholders in however very significant to the success of software projects. According to Blokdijk (2008), the process of testing and evaluating software come in different fashions with one example being the structural technique. This procedure relates to the testing and exposure of errors during the coding stage has much of its focus on the activities that undergo within applications. This report explores the various aspects of the structural technique of software testing and evaluation and provides an overview of the testing procedure. The work presents the background of the study, providing the substance of the research materials used. It gives an analysis that represents personal opinions on the topic and addressing the means by which the subject areas, potential research areas included, can improve. It summarizes the discussion by reaffirming the research topic and recapping the personal viewpoint. The paper then concludes with a summary of the entire content of the discussion.

Background

Desikan and Ramesh (2006) in the publication "Software Testing: Principles and Practice" illustrate that structural software testing and evaluation take into consideration the internal design of the applications and their coding mechanisms together with the codes and the code structures. This form of testing is automated, run by a computer within the products and this distinguishes them from other forms of testing. Additionally, the structural testing involves running the real products against various pre-structured test cases to exercise the code as much as it is essential or achievable. In order to achieve this, the testing program exercises the code to determine whether a case of a test would lead to the execution of that segment of the code. This occurs while the test is running. One of the mode by which they classify Structural testing encompasses code coverage, code/unit functional testing, and code complexity testing.

The code functional testing phase constitutes the foremost part of software testing and evaluation. It refers to the process by which software developers undertake various speedy checks before exposing the code to tests that are further far-reaching coverage testing or code complexity testing (DeMillo, 1987). This process may undertake diverse forms. The developer, with knowledge of the input variables and the equivalent expected outputs may undertake some apparent operations. This involves quick tasks for checking evident problems. The other approach includes the construction of the productivity's debug version, an operation that is widespread in software with multifaceted conditions or logic (Desikan & Ramesh, 2006). The developer, in this case institutes transitional print statements and certifies that the program goes through the appropriate loops and iterations, the accurate number of times. Another method is the running of the products through the IDE (Integrated Development Environment) or a debugger.

With respect to the code coverage segment, the software developers run test cases with the view of exercising the many segments of the code. The developers follow by testing the portion of the products which the code recognized. This involves structuring and executing test case, besides establishing the portion of the code that the test covers. Determining the code percentage, that test cover's constitutes the adoption the instrumentation of code. This method puts to use a variety of tools and rebuilds the products besides linking it with a set of libraries that the tool vendors produce. In addition to evaluating and inspecting the covered percentage of the code, the instrumentation process allows reporting on the frequently covered parts of the code with the view of identifying the most vital ones. The types of code coverage anonymous with code coverage testing include, function coverage, path coverage, conditional coverage and statement coverage (Desikan & Ramesh, 2006).

Graham (2008), Code complexity testing encompasses among other measures, Cyclomatic complexity and attempts to provide answers to questions that relate to the complexity of the software testing process. The questions that this approach addresses are the independence of the paths and the presence of limits on the number of tests the developers require to run in guaranteeing the execution of all statements. This approach gives the internal view of the code by delivering to stakeholders, an upper leap for the quantity of tests that necessary for the codes.

Different from the other approaches of software testing and evaluation, structural technique presents a wide range of advantages. According to Perry (2006), the effectiveness of this method comes in its ability to establish the types of data, both input and output, which aid in appropriate testing the application. This is because of the fact that the developers have to possess an in-depth understanding of the internal coding structure of the software. Structural testing constitutes a process where testing involves the use of the internal logic knowledge in generating a theoretical test case. The approach, which is also called white box helps the developers attain code optimization and assists in the removal of additional lines of codes, which have the capacity to cause concealed defects to the software. Moreover, this method of testing encourages careful reasoning prior to implementation leading to the production of best possible applications. Because of the benefits that this approach extends to systems and their corresponding developers, this approach aids in the early detection of errors (Desikan & Ramesh, 2006).

No single approach in information technology and software development constitutes purely ideal processes, as there always exist some shortcomings with the processes. This explains why different stakeholders frequently participate in scientific research as a means of finding answers to the existing issues. As such, structural testing also brings to the fore a number of disadvantages and whose need to address is critical. The disadvantages that this approach has, in contrast to other methods like the functional approach, include the heightened cost of undertaking the testing and evaluation procedures. This is in line with the requirement that the professional possesses comprehensive knowledge of the internal design and the codes of the application under test. Only a true expert can qualify, therefore, to explore such an assignment. Besides, situating every bit of the code in as an effort to identify concealed and potentially problematic errors, as the method requires, is a close to impossible operation. These errors have the capacity to cause systems to fail, and in instances where establishing the codes become problematic, this testing approach becomes insignificant (Perry, 2006).

The approach may lead to undesirable structural and operations changes of the applications under evaluation. The fact that almost all test procedures in this method require changes in the program and the modification of values makes the inconvenience, sometimes inevitable. These alterations are necessary for compelling diverse paths of execution in addition to the creation of a full range of inputs to evaluate a particular function. Other disadvantages that associate with the structural testing method are the evasion of the need for considering the code in the runtime environment and the possibility of stakeholders missing the cases, which are already, lost in the application. The former reason eliminates the benefits of software testing because the management of susceptibility relies on all characteristics of the platform, which is under target together with those components' source codes (Copeland, 2004). The third party security apparatus reliant, libraries, the fundamental operating system, and the backend database in use, among other features need consideration when establishing exploitability.

Analysis

The need for the development of more and increasingly effective application in the information-oriented society is quite extensive. The increasing sophistication in the face of the globe together with the demand for systems, which can achieve all purported tasks effectively, is increasing and as such, serious measures of evaluating these systems is a prerequisite. The availability of different mechanism of software testing, to a considerable length, complements this need. Further, the use of highly automated approaches, says the structural testing method goes a long way in enhancing the effectiveness of software application in the field of information technology. Structural software testing and evaluation mechanism, in itself presents a variety of advantages as addressed in this paper. The fact that this mechanism allows for the an automated and more accurate process of automation in addition to complementing what the functional test can do provides the stakeholder with closer to the best approach of ensuring system functionality (DeMillo, McCracken, Martin, Passafiume, 1987). This however, has not made it the most ideal mechanism for software testing and explanation. More researchers are conducting studies in filling the gaps that the approach has not filled, especially with reference to the disadvantages that it presents.

As Graham (2008), demonstrates, Self-managed applications requires evaluation and changes of codes in program execution. This in a… [END OF PREVIEW]

Four Different Ordering Options:

?
Which Option Should I Choose?

1.  Buy the full, 11-page paper:  $26.88

or

2.  Buy & remove for 30 days:  $38.47

or

3.  Access all 175,000+ papers:  $41.97/mo

(Already a member?  Click to download the paper!)

or

4.  Let us write a NEW paper for you!

Ask Us to Write a New Paper
Most popular!

Software Development Plan for CRM System Essay


Effect of Building Shape in the Wind Load Research Paper


Design and Development Plan for Web Media Contents Monetization Software B2b Business Plan


XML Project Specification and Design Document Research Proposal


Information Technology Aquarius Marketing Project Plan Term Paper


View 99 other related papers  >>

Cite This Research Paper:

APA Format

Structural Testing in Software Testing and Evaluation.  (2013, July 31).  Retrieved April 21, 2019, from https://www.essaytown.com/subjects/paper/structural-testing-software/9287763

MLA Format

"Structural Testing in Software Testing and Evaluation."  31 July 2013.  Web.  21 April 2019. <https://www.essaytown.com/subjects/paper/structural-testing-software/9287763>.

Chicago Format

"Structural Testing in Software Testing and Evaluation."  Essaytown.com.  July 31, 2013.  Accessed April 21, 2019.
https://www.essaytown.com/subjects/paper/structural-testing-software/9287763.