The Software Testing Techniques
Total Page:16
File Type:pdf, Size:1020Kb
INTERNATIONAL JOURNAL OF RESEARCH ISSN NO : 2236-6124 THE SOFTWARE TESTING TECHNIQUES Bomma RamaKrishna1,A.Abbash2 1 Assistant Professor,A.K.R.G College of Engineering and Technology,Nallajerla,A.P [email protected] 2 Professor, Aaligarh Muslim University,CSEDepartment [email protected] ABSTRACT Testing is defined as a process of evaluation that either the specific system meets its Software testing is an investigation originally specified requirements or not. It is conducted to provide stakeholders with mainly a process encompassing validation information about the quality of and verification process that whether the the software product or service under test. developed system meets the requirements Software testing can also provide an defined by user. Therefore, this activity objective, independent view of the software results in a difference between actual and to allow the business to appreciate and expected result. Software Testing refers to understand the risks of software finding bugs, errors or missing requirements implementation. Test techniques include the in the developed system or software. So, this process of executing a program or is an investigation that provides the application with the intent of stakeholders with the exact knowledge about finding software bugs (errors or other the quality of the product. defects), and verifying that the software Software Testing can also be considered as a product is fit for use. Software testing risk-based activity. The important thing involves the execution of a software during testing process the software testers component or system component to evaluate must understand that how to minimize a one or more properties of interest. This large number of tests into manageable tests paper aims to discuss the existing as well as set, and make wise decisions about the risks improved testing techniques for the better that are important to test or what are not [1]. quality assurance purposes. Figure 1 shows the testing cost and errors 1. INTRODUCTION found a relationship. The Figure 1 clearly shows that cost goes up dramatically in Software testing is an activity to check testing both types i.e. functional and non- whether the actual results match the functional. The decision making for what to expected results and to ensure that the test or reduce tests then it can cause to miss software system is Defect free. It involves many bugs. The effective testing goal is to execution of a software component or do that optimal amount of tests so that extra system component to evaluate one or more testing effort can be minimized [1]. properties of interest. Software testing also According to Figure 1, Software testing is an helps to identify errors, gaps or missing important component of software quality requirements in contrary to the actual assurance. The importance of testing can be requirements. It can be either done manually considered from life-critical software (e.g., or using automated tools. Some prefer flight control) testing which can be highly saying Software testing as a white box expensive because of risk regarding and Black Box Testing. Volume 2, Issue II, July-Dec/2013 Page No:43 INTERNATIONAL JOURNAL OF RESEARCH ISSN NO : 2236-6124 schedule delays, cost overruns, or outright glitch affected more than 300,000 cancellation [2], and more about this [3][4]. traders on financial markets. It forced the government to postpone a 3bn pound debt sale. Nissan cars have to recall over 1 million cars from the market due to software failure in the airbag sensory detectors. There has been reported two accident due to this software failure. Starbucks was forced to close about 60 percent of stores in the U.S and Canada due to software failure in its Figure 1: Every Software Project has optimal test effort (Courtesy POS system. At one point store [1]). Testing has certain levels and steps served coffee for free as they unable according to which the person who does the to process the transaction. testing differs from level to level. The three Some of the Amazon’s third party basic steps in the software testing are Unit retailers saw their product price is testing, Integration testing and System testing. reduced to 1p due to a software Each of these steps is either tested by the glitch. They were left with heavy software developer or the quality assurance losses. engineer who is also known as a software tester Vulnerability in Window 10. This [5-10]. The testing mentioned above steps is bug enables users to escape from inclusive in the Software Development Lifecycle security sandboxes through a flaw in (SDLC). It is essential to break the software development into a set of modules where each the win32k system. module assigned to a different team or different In 2015 fighter plane F-35 fell victim individual. After the completion of each module to a software bug, making it unable or unit, it is tested by the developer just to check to detect targets correctly. whether the developed module is working by the China Airlines Airbus A300 crashed expectation or not, this is termed as Unit due to a software bug on April 26, Testing. The second step of testing within the 1994, killing 264 innocent live SDLC is Integration Testing. Once the modules In 1985, Canada's Therac-25 of a single software system have been developed radiation therapy machine independently, they are integrated together and malfunctioned due to software bug often errors arise in the build once the and delivered lethal radiation doses integration has been done. to patients, leaving 3 people dead and critically injuring 3 others. Why is Software Testing Important? In April of 1999, a software bug caused the failure of a $1.2 billion Testing is important because software bugs military satellite launch, the costliest could be expensive or even dangerous. accident in history Software bugs can potentially cause In may of 1996, a software bug monetary and human loss, history is full of caused the bank accounts of 823 such examples. customers of a major U.S. bank to be credited with 920 million US dollars. In April 2015, Bloomberg terminal in London crashed due to software 2. LITERATURE REVIEW Volume 2, Issue II, July-Dec/2013 Page No:44 INTERNATIONAL JOURNAL OF RESEARCH ISSN NO : 2236-6124 S. Amland, have proposed this paper the conceptual essence of the techniques to extends a theory of risk‐based test planning use in the design and analysis of that was outlined in a previous paper, experiments and keeping the mathematical introduces techniques to facilitate it, calculations clear and simple. Basics of explains their practical application, and Software Engineering Experimentation is highlights opportunities for research to practically oriented and is specially written enquire into their feasibility and efficacy. for software engineers, all the examples D. Nicola et al. have proposed being based on real and fictitious software Systematic functional testing is a engineering experiments. fundamental step of embedded control Jianyong Wang and Jiawei Han. have systems development cycle, as it allows to presented convincing arguments that a verify and validate their final frequent pattern mining algorithm should implementation. Various approaches to not mine all frequent patterns but only the black-box testing have been proposed, closed ones because the latter leads to not however they either involve test-case only more compact yet complete result set explosion or do not ensure the correctness but also better efficiency. However, most of of system behaviour in scenarios not the previously developed closed pattern covered by system specifications. To cope mining algorithms work under the candidate with such issues, a methodology which maintenance-and-test paradigm which is better suits both complexity and safety- inherently costly in both runtime and space criticality of the target system is needed. usage when the support threshold is low or This paper describes the ASF functional the patterns become long. We present, testing methodology, based on a grey-box BIDE, an efficient algorithm for mining approach aimed at generating and reducing frequent closed sequences without candidate an extensive set of influence variables and maintenance. We adopt a novel sequence test-cases. The methodology, embracing closure checking scheme called bidirectional different aspects of system test process extension, and prunes the search space more (code coverage verification, regression deeply compared to the previous algorithms testing, etc.), was successfully applied to by using the BackScan pruning method and validate ASF implementation of SCMT (an the Scan-Skip optimization technique. A Italian project for an Automatic Train thorough performance study with both Protection System). The results obtained in sparse and dense real-life data sets has our testing experience proved the time demonstrated that BIDE significantly effectiveness and extensive coverage of the outperforms the previous algorithms: it proposed approach. consumes order(s) of magnitude less KAMSTIES, E. AND LOTT, C. are memory and can be more than an order of proposed the basics of Software Engineering magnitude faster. It is also linearly scalable Experimentation is a practical guide to in terms of database size. experimentation in a field which has long been underpinned by suppositions, 2. SOFTWARE TESTING LIFE CYCLE assumptions, speculations and beliefs. It (STLC) demonstrates to software engineers how Figure 3 discusses the STLC steps, stages and Experimental Design and Analysis can be phases a software undergo during the testing process. Though, there is no fixed standard of used to validate their beliefs and ideas. The the software or application undergoing STLC, book does not assume its readers have an in- and it varies from region to region throughout depth knowledge of mathematics, specifying the world. Volume 2, Issue II, July-Dec/2013 Page No:45 INTERNATIONAL JOURNAL OF RESEARCH ISSN NO : 2236-6124 which representing the future direction of this area.