Software Testing Tools and Techniques

Download Full-Text PDF Cite this Publication

Text Only Version

Software Testing Tools and Techniques

Hari Priya V (Asst. Prof) Dept. of MS (IT), Jain University

Bangalore-69, India

Rakshith R Lawy

Dept. of MS (IT), Jain University Bangalore-69, India

  1. Abstract:- This paper deals with the auto generation of the Test Data. The basic scenario of this paper is to acquire the concept of auto test data generation research. By implementing different techniques we can describe the merits and demerits .The future challenges of test data are explained. Finally we focus on making the automatic test data generation more effectively in the industry.


    Software testing normally determines the quality of the software .software testing has to be done. Normally, testing consumes 50%-60% of the development efforts, and also consumes more effort by the systems to establish its quality and the levels of reliability which is the significant part of software engineering [1]. Testing in computer science area will be increased in the future. Testing is the measurement which helps us to calculate the system and its parts to check whether it satisfies the software requirements or not. This helps us to find whether there is a gap or errors by executing the system. Software testing can be done either imanually or automatically. It is discovered that testing automatically is better than manual testing. Software testing can be defined as a process of verification and validation of the software to make sure that the software meets the business requirements and the technical requirements as expected [1]. Verification is carried out to make sure that the software meet the specification and it is very close to structural testing whereas validation is direct to functional testing and it is done by executing SUT (software under test).Normally testing technique includes functional (black box testing) and structural (white box) testing .Black box testing is based on the functional requirements whereas the white box testing is done on the code itself. Black box testing and white box testing has its own Hybrid testing called as a Gray Box Testing .Software testing is a wide area, which includes most of the other technical or non-technical areas, which is design, implementation, maintenance specification and process in the software [1] .Our main goal is to focus the art of testing techniques and the latest techniques which shows the future direction in this technique.

  3. GOALS OF SOFTWARE TESTING Normally the definition of testing differs based on it

    process, purpose and the level of testing. The main

    objective of testing is to find defects that are created by the programmer while building software. It also makes sure that it meets the business and the user requirements [2]. It also convinces the Software requirement specification. it

    should gain the confidence of the customers by delivering the quality product .

      1. The Testing Spectrum

        Software testing involves Software life cycle in every stage, but in each level the software development differs in mature and has different aims.

        • Unit testing will be done for the low level. It tests the fundamental unit of the software. Local data are Scrutinize to make sure that integrity can be maintained [2].

        • Integration testing is done when two or more units are joined into a greater structure. It is done for both interfaces between the components and the structure that is being constructed.

        • System testing affirms the end to-end quality of the system. The system is based on the functional specification of the system. The non-functional attributes, such as security, reliability are also checked [2].

        • Acceptance testing is perused when whole system is handed over from the developer to the customer

          .The main objective of this testing is to provide a confidence that system is working to find the errors.

          Figure 1 levels of testing

      2. Static and Dynamic Analysis

        Based on the execution of the software which is under evaluation, there are two major categories.

        Static Analysis: Static Analysis mainly deals with the methods which determine the software quality without the actual execution. This section includes inspection, model check and symbolic analysis [2].

        Dynamic Analysis: Dynamic Analysis takes measure on the methods for finding the software quality i.e., with the exact data under simulated circumstances. This area includes series of inputs, the use of dedicated testing procedures and automated testing environments [2].

        Normally these two methods are inseparable, but it can be discussed separately. In this paper it means dynamic analysis when we say testing, where most of the testing techniques require the software execution.

      3. Functional and Structural Technique

    Based on the testing information flow, this technique specify the strategy used in the testing by selecting the test cases and by analyzing the results [2]. By performing different techniques different quality of software system can be expected. Here are two major categories:

    • Functionality testing: The functional testing is a type of black box testing. The selection is based on either requirement or the design specification of the software entity .The test oracles are expected which include either of the specification. Black box testing values on the external behavior of the software entity.

      Figure 2. Functionality Testing

    • Structural testing: The structural testing is a type of white box testing .The selection is based on implementation .The goal is to cause the execution of specific spots in the entity. The results are evaluated on coverage criteria.

    Figure 3. Structural testing

    Figure 3. Testing Information flow


      1. Technical scope

        In this paper, we mainly deal with the maturation of testing techniques including functional techniques and the structural techniques thats been influential in this world which is broadly used in this practice. We examine the propagation and growth that establish the strategy and methodology which is used in the test cases and test results. In software testing research it can be roughly divided into two parts i.e., theoretical and methodological, and the process in both the parts push the process of testing technology [2] .

        There are other most interesting areas in this testing process. We limit the study within the testing technique, however some of the parts may be inseparable from the study. Especially we are not discussing about the following [2]

        • In what way the testing is involved in the Software development life cycle?

        • In what way the levels are performed?

        • Process models

        • Testing policies and its responsibilities

        • Criteria for testing and its reliability

      2. Standards and Goals of Progress

        The ultimate aim of testing is to help developers, managers and developers to construct the systems with the high quality software[2]. The research and development on testing points at efficient performing effective testing to find more errors in requirements, design and implement to boosts the confidence of the software and its quality . The testing technique leads to the practice of testing methods and tools. The development towards the place requires the primary research, creation refinement and popularization of the methods [2].The progress of testing technique includes:

        • Amount of acceptance o the technology that is inside and outside the research community.

        • Amount of dependability on the software engineering areas.

        • Change of paradigms to the maturation of software development technologies.

        • Feasibility techniques used in practical scope.

        • Technology spread.[2]


    There are large numbers of tools that are available in the software testing market. Some are used from a long time and some of them are new tools that are developed with lot of functionalities. Here are some of the tools that are discussed for automated testing [3].

    • Ranorex

      Ranorex is a test automation framework for the desktop testing, web-based and mobile applications. Ranorex is a cost effective tool that is used for automation testing. It is most desirable to other testing tools because it tests the application from the users view by using the standard programming language and methods such as c#, etc. As it is coded in pure .net it does not require the understanding of the scripting language. From C#, .net, python, any of the language can be used [3]. It is used by lot of companies throughout the globe. The future work of the ranorex invoves creating an easily accessible, open and highly recorded interface for the clients to note their own plug-ins, that provide the maximum number of recognition of their applications[3].

      Here are some of the features :

          • It can be created by standard .NET framework.

          • It supplies the ability to do automation testing in the clients environment.

          • It uses standard programming techniques.

          • It allows the software tester with the little knowledge of programming to develop the professional test plans and test cases and its modules [3].

          • It recognizes the images.

    • Rational Function Tester(RFT)

    RFT was developed by the IBM in the year 1999. RFT is object oriented program which is based on the automation testing which include functional testing and regression testing tool that notes the result of the black box in a scripted format. Once recorded, these scripts can be carried out against the later scripts that can be built for any application to verify that the new functions has not disabled the occurring functionality. The black box and white box testing can be executed by using this tool [3] .In 2006 IBM Rational 7 was developed.

    Some of the features of RFT are:

        • It can perform regression testing.

        • It enables the quality assurance from maintaining and executing the test plans and test cases.

          • It converts other non-testing activities.

          • It reduces the chances of human error which can occur during activities such as execution and result recording[3].


    With the development in this research, the component system testing, techniques and form modeling is embedded in the software .Some have been introduced below:

    • Test-driven Development :

      First we need to write the test plans and test cases, test code and then test the developed code by executing the program in order until the development process is completed. The most popular one used is XP i.e., Extreme Programming

    • Iterative and incremental testing:

      It is developed from iterative model . After some time of iteration, the system combines the new functions automatically until the system functionality is completed. It mainly deals with the cumulative test which is used in regression testing and each of the iterative tests is finished in two parts. This is one of the most widely used methods. IBM uses this method [3].

    • GUI automation test

      This testing framework is based on the object oriented technology for GUI.The type of auto generation of test data is based on the ant colony algorithm. By byte coding the input domain of the software under test to ant path the algorithm .It was made by distinct degrees and the paths of precocity and stagnation .The main goal behind the automation testing is to improve the degree of software testing automatically [3].

    • Testability of component software

      On selecting the test case, the metadata is applied to select a test case. It combines the parts and the information to achieve the test case generation[3]. It also uses the UML to test case meta-model and show the relevant use of the model.


    The main focus of the Software testing or software engineering project is the Quality. We cannot be sure about the levels of quality in the software without measuring it. This paper deals with different types of testing techniques that can be applied by measuring different quality attributes. Software testing is normally driving the essentials of developing and applications. In this world of demand on software testing it is very important to summarize constantly the new achievements ,fresh spots and different proposes and ideas in order to promote the software /system engineering to make the rapid development of the software testing field and software industry easy.


  1. Software Testing Techniques by Shivkumar Hasmukhrai Trivedi

  2. Software Testing Techniques by Lu Luo

  3. Research and Development on Software Testing Techniques and Tools by Rasneet Kaur Chauhan* and Iqbal Singh

  4. Software Testing Methods and Techniques by Jovanovich, Irena

  5. re+testing+techniques&hl=en&as_sdt=0&as_vis=1&oi=scholart &sa=X&ved=0ahUKEwjaw7evyOrMAhVKGZQKHVyqC7AQg QMIGTAA

Leave a Reply

Your email address will not be published. Required fields are marked *