A Review of Testing Techniques and Principles in Software Quality Assurance Testing B

A Review of Testing Techniques and Principles in Software Quality Assurance Testing B

International Journal of Scientific & Engineering Research, Volume 6, Issue 8, August-2015 138 ISSN 2229-5518 A Review of Testing Techniques and Principles in Software Quality Assurance Testing B. Vasundhara Devi ABSTRACT: To judge any software product it should completely free from errors, faults, bugs, and vulnerabilities that is, product should completely correct, complete, fit for use Nothing but it should satisfy all the internal, external requirements and should comply with the given functionalities then only anyone can judge the quality of the software product for these we have got plenty of tools which are entrepreneur and open source This paper describes Software testing techniques and importance of in engineering the software product and also tells about Software testing goals and principles. And also describes Software testing techniques and strategies. Finally it describes the difference between software testing and debugging. Keywords—Debugging, verification, validation, Software Testing Goals, Software Testing principles, Software Testing Techniques, Software Testing strategies —————————— —————————— be credited with 920 million US dollars As you see, testing is important because software bugs could be I. INTRODUCTION expensive or even dangerous. • As Paul Elrich puts it - "To err is human, but to Software testing is a process used to identify the really foul things up you need a computer." correctness, completeness, and quality of developed computer software. It includes a set of activities conducted with the intent of finding errors in II. SOFTWARE TESTING GOALS software so that it could be corrected before the product is released toIJSER the end users. In simple words, You simply say that software testing is nothing but software testing is an activity to check whether the validation and verification. Main goal of software actual results match the expected results and to Testing is to ensure that software should always be ensure that the software system is defect free. defect free and easily maintained. Software Testing has different goals and objectives. The major 1.1 Why Testing is Important? objectives of Software testing are as follows: • Finding defects which may get created by the • China Airlines Airbus A300 crashing due to a programmer while developing the software. software bug on April 26, 1994 killing 264 innocent • Gaining confidence in and providing information lives. about the level of quality. • Software bugs can potentially cause monetary and • To prevent defects. human loss, history is full of such examples. In • To make sure that the end result meets the 1985, Canada’s Therac-25 radiation therapy business and user requirements. machine malfunctioned due to software bug and • To ensure that it satisfies the BRS that is Business delivered lethal radiation doses to patients, leaving Requirement Specification and SRS that is System 3 people dead and critically injuring 3 others. Requirement Specifications. • In April of 1999 ,a software bug caused the failure • To gain the confidence of the customers by of a $1.2 billion military satellite launch, the providing them a quality product. costliest accident in history • In may of 1996, a software bug caused the bank accounts of 823 customers of a major U.S. bank to IJSER © 2015 http://www.ijser.org International Journal of Scientific & Engineering Research, Volume 6, Issue 8, August-2015 139 ISSN 2229-5518 Testing should systematically uncover different different parts of the software or system to potentially classes of errors in a minimum amount of time and find more defects. with a minimum amount of effort. A secondary benefit of testing is that it demonstrates that the 6) Testing is context depending: Testing is basically software appears to be working as stated in the context dependent. Different kinds of sites are tested specifications. The data collected through testing can differently. For example, safety – critical software is also provide an indication of the software's reliability tested differently from an e-commerce site. and quality. But, testing cannot show the absence of defect -- it can only show that software defects are 7) Absence – of – errors fallacy: If the system built is present. unusable and does not fulfill the user’s needs and expectations then finding and fixing defects does not III. SOFTWARE TESTING PRINCIPLES help. There are seven principles of testing. They are as IV. SOFTWARE TESTING TECHNIQUES follows: In this Section the focus is mainly on the different 1) Testing shows presence of defects: Testing can software testing Techniques. Software Testing show the defects are present, but cannot prove that Techniques can be divided into two types:- there are no defects. Even after testing the application or product thoroughly we cannot say that the product 4.1. MANUAL TESTING (Stress Testing) is 100% defect free. Testing always reduces the number of undiscovered defects remaining in the software but even if no defects are found, it is not a It is a slow process and laborious where testing is proof of correctness. done statically .It is done in early phase of life cycle. It is also called static testing. It is done by analyst, 2) Exhaustive testing is impossible: Testing developer and testing team. Different Manual testing everything including all combinations of inputs and Techniques are as follows:- A) walk through B) preconditions is not possible. So, instead of doing the Informal Review C) Technical Review D) Inspection exhaustive testing we can use risks and priorities to focus testing efforts. For example: In an application in 4.2. AUTOMATED TESTING (Dynamic one screen there areIJSER 15 input fields, each having 5 Testing) possible values, then to test all the valid combinations 15 you would need 30 517 578 125 (5 ) tests. This is In this tester runs the script on the testing tool and very unlikely that the project timescales would allow testing is done. Automated testing is also called for this number of tests. So, accessing and managing dynamic testing. Automated testing is further risk is one of the most important activities and reason classified into four types for testing in any project. 1. Correctness testing 3) Early testing: In the software development life 2. Performance testing cycle testing activities should start as early as possible 3. Reliability testing and should be focused on defined objectives. 4. Security testing 4) Defect clustering: A small number of modules contains most of the defects discovered during pre- release testing or shows the most operational failures. 5) Pesticide paradox: If the same kinds of tests are repeated again and again, eventually the same set of test cases will no longer be able to find any new bugs. To overcome this “Pesticide Paradox”, it is really very important to review the test cases regularly and new and different tests need to be written to exercise IJSER © 2015 http://www.ijser.org International Journal of Scientific & Engineering Research, Volume 6, Issue 8, August-2015 140 ISSN 2229-5518 A. WHITE BOX TESTING White box testing is highly effective in detecting and resolving problems, because bugs can often be found before they cause trouble.[5] White box testing is the process of giving the input to the system and checking how the system processes that input to generate the required output. White box testing is also called white box analysis, clear box testing or clear box analysis.[5] White box testing is applicable at integration, unit and system levels of the software testing process.[3] White box testing is considered as a security testing method that can be used to validate whether code implementation follows intended design, to validate implemented security functionality, and to uncover exploitable vulnerabilities. Some Different types of white box testing techniques are as follows:- Fig 1:-Further classification of Automated software Testing. 1) Basis Path Testing 2) Loop Testing 4.2.1. CORRECTNESS TESTING 3) Control Structure Testing Advantages of white box testing:- Correctness is the minimum requirement of software. Correctness testing will need some type of oracle, to 1) All independent paths in a module will be tell the right behavior from the wrong one. The tester exercised at least once. may or may not know the inside details of the 2) All logical decisions will be exercised. software module under test. [3] Therefore either 3) All loops at their boundaries will be executed. white box testing or black box testing can be used. 4) Internal data structures will be exercised to Correctness testing has following three forms:- maintain their validity. IJSER5) Errors in hidden codes are revealed. A. White box testing 6) Approximate the partitioning done by execution B. Black box testing equivalence. C. Grey box testing 7) Developer carefully gives reason about implementation. Disadvantages of white box testing:- 1) Missed out the cases omitted in the code. 2) As knowledge of code and internal structure is a prerequisite, a skilled tester is needed to carry out this type of testing, which increases the cost. 3) And it is nearly impossible to look into every bit of code to find out hidden errors, which may create problems, resulting in failure of the application. B. BLACK BOX TESTING Fig 2:- Different form of Correctness testing Black box testing is testing software based on output [3]. requirements and without any knowledge of the internal structure or coding in the program.[5] IJSER © 2015 http://www.ijser.org International Journal of Scientific & Engineering Research, Volume 6, Issue 8, August-2015 141 ISSN 2229-5518 Basically Black box testing is an integral part of that the Gray box method can be applied in real time „Correctness testing‟ but its ideas are not limited to using software executing on the target platform. Grey correctness testing only. The goal is to test how well box testing techniques combined the testing the component conforms to the published methodology of white box and black box.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    8 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us