Utilization and Deployment of Software Testing Tools and Techniques
Total Page:16
File Type:pdf, Size:1020Kb
International Journal of Trend in Research and Development, Volume 6(1), ISSN: 2394-9333 www.ijtrd.com Utilization and Deployment of Software Testing Tools and Techniques Naw Tin Tin Yu University of Computer Studies (Hpa-an), Kayin State, Myanmar Abstract: Software testing is a process of executing a program design and implementation, maintenance, process and or application with the intent of finding the software bugs. management issues in softwareengineering. Our study focuses Software testing is an activity to check whether the actual on the state of the art in testing techniques, as well as the latest results match the expected results and to ensure that the techniques which representing the future direction of this area. software system is Defect free. It involves execution of a Software testing techniques are based in an amalgam of software component or system component to evaluate one or methods drawn from graphtheory, programming language, more properties of interest. Software testing also helps to reliability assessment, reliable-testing theory, etc.[12]. identify errors, gaps or missing requirements in contrary to the Software testing is very important because of the following actual requirements. Software testing tool is used in day to reasons: Software testing is really required to point out the days testing activities.In this paper, testing tools and techniques defects and errors that were made during the development have been described. Software testing is gaining more and phases. It‟s essential since it makes sure of the Customer‟s more importance in the future. reliability and their satisfaction in the application. It is very important to ensure the Quality of the product. Quality product Keywords: Software testing, Tools, Techniques. delivered to the customers helps in gaining their confidence. I. INTRODUCTION (Know more about Software Quality). Testing is necessary in order to provide the facilities to the customers like the delivery Software testing is an investigation conducted to provide of high quality product or software application which requires stakeholders with information about the quality of the software lower maintenance cost and hence results into more accurate, product or service under test. Software testing can also provide consistent and reliable results. Testing is required for an an objective, independent view of the software to allow the effective performance of software application or product. It‟s business to appreciate and understand the risks of software important to ensure that the application should not result into implementation. Test techniques include the process of any failures because it can be very expensive in the future or in executing a program or application with the intent of finding the later stages of the development. It‟s required to stay in the software bugs (errors or other defects), and verifying that the business. [5]Testing improves the quality of the final product software product is fit for use [2]. Testing is an important because most of the errors found get corrected before the technique to check and control software quality. It is partof software is released into production. Test tool selection is a almost any software development project. Time and resources very important part of test automation. This requires the study devoted to testingmay vary from 30% up to 70% of a project's of the scope of testingand the test plan .It is also needed to resources. Yet, testing is often an underexposedand know whether the test tool meets the test suite requirements for underestimated part of software development. Also testing are the particular product and version. The important factors that rather low compared with the importance of the subjectin real- also come into picture are reusability, reliability and cost. This life software projects. The course on testing techniques is is done to see if they can get the maximum benefit out the intended to be a steptowards bridging this gap.Testing product being made, bought or customized. The test tool techniques deals with a number of topics related to software should support: Scripting interface; Facility to give valid and testing. The aimis that the student will get insight into some of invalid input; Result comparison;To give the verdict.[15] the problems of software testing andthat he gets familiar with a couple of solutions to these problems. Emphasis ison III. TESTING TOOLS techniques for testing technical software systems, such as There are many testing tools available that are useful in several communication software,control systems and embedded places while testing software product. These tools canbe software. Established testing techniques as well as categorized as static testing and dynamic testing tools. newdevelopments will be presented. In the latter category there will be a strong focus onthe use of formal methods in the A. Static Testing Tools software testing process. It is impossible to give acomplete These tools test the software without executing it; rather, they view of all possible testing techniques and processes in a single are concerned with analyzing the code or documentation for course. Testing techniques is a reasonable compromise syntax checking, consistency, etc. Static testing can be manual between giving a completeoverview of the broad _end of or even automated with the use of static analysis tools. Static testing and dealing thoroughly with distinct testingtechniques analysis tools examine the source code of program and without being too super-cial. [13] highlight the statements with wrong syntax, undefined symbols This paper is organized in seven sections: In section or variables, use of uninitialized variables, and so on. They 1.Introduction; 2. Literature review; 3.Testing tools; 4. also check for flaws in the logic flow of the program. Static Advanced Software Testing Tools; 5. Testing Techniques; analysis tools are generally used by developers as part of the 6.Advanced Software Testing Techniques; 7. Conclusion. development and component testing process. The key aspect is that the code is not executed or run but the tool itself is II. LITERATURE REVIEW executed, and the source code we are interested in is the input Software testing is a very broad area, which involves many data to the tool. These tools are mostly used by other technical and non-technical areas, such asspecification, developers.Static analysis tools are an extension of compiler IJTRD | Jan – Feb 2019 Available [email protected] 29 International Journal of Trend in Research and Development, Volume 6(1), ISSN: 2394-9333 www.ijtrd.com technology – in fact some compilers do offer static analysis correctness of input and output, find and remove the errors, and features. It is worth checking what is available from existing control and summarize the test. Similarly, Bug Trapper is used compilers or development environments before looking at to perform white box testing. This tool traces the path of purchasing a more sophisticated static analysis tool. Other than execution and captures the bug along with the path of software code, static analysis can also be carried out on things execution and the different input values that resulted in the like, static analysis of requirements or static analysis of error[6].Dynamic analysis tools are „dynamic‟ because they websites. Static analysis tools for code can help the developers require the code to be in a running state. They are „analysis‟ to understand the structure of the code, and can also be used to rather than „testing‟ tools because they analyze what is enforce coding standards. [16] Static Testing happening „behind the scenes‟ that is in the code while the Techniques provide a powerful way to improve the quality and software is running (whether being executed with test cases or productivity of software development by assisting engineers to being used in operation). Eventually when our computer‟s recognize and fix their own defects early in the software response time gets slower and slower, but it get improved after development process. In this software is tested without re-booting, this may be because of the „memory leak‟, where executing the code by doing Review, Walk Through, the programs do not correctly release blocks of memory back Inspection or Analysis etc. Static Testing may be conducted to the operating system. Sooner or later the system will run out manually or through the use of various software testing tools. It of memory completely and stop. Hence, rebooting restores all starts early in the Software Development Life Cycle and so it is of the memory that was lost, so the performance of the system done during the Verification Process. Static testing is not is now restored to its normal state. These tools would typically magic and it should not be considered a replacement be used by developers in component testing and component for Dynamic Testing, but all software organizations should integration testing, e.g. when testing middleware, when testing consider using reviews in all major aspects of their work security or when looking for robustness defects. Dynamic including requirements, design, implementation, testing, and analysis for websites is to check whether each link does maintenance.Types of defects that are easier to find during actually link to something else. The tool does not know if you static testing are: deviations from standards, missing have linked to the correct page, but at least it can find dead requirements, design defects, non-maintainable code and links, which may be helpful. [16] In Dynamic Testing inconsistent interface specifications. [17] Static Testing is type Technique software is executed using a set of input values and of testing in which the code is not executed. It can be done its output is then examined and compared to what is expected. manually or by a set of tools. This type of testing checks the Dynamic execution is applied as a technique to detect defects code, requirement documents and design documents and puts and to determine quality attributes of the code.