Download as pdf
Download as pdf
You are on page 1of 162
COMPUTER ENGINEERING GROUP SOFTWARE TESTING ‘OTL MANTE (KHURPADE) GANESH MANTE NARESH SHENDE PRAKASHAN Syllabus ... 1. Basics of Software Testing and Testing Methods 11 Software Testing, Objectives of Testing. 12 Failure, Error, Fault, Defect, Bug Terminology. 1.3. Test Case, When to Start and Stop Testing of Software (Entry and Exit Criteria) 1.4 Verification and Validation (V Model), Quality Assurance, Quality Control. 1.5 Methods of Testing: Static and dynamic Testing. 1.6 The Box Approach: White Box Testing: Inspections, Walkthroughs, Technical Reviews, Functional Testing, Code Coverage Testing, Code Complexity Testing 1.7 Black Box Testing: Requirement Based Testing, Boundary Value Analysis, Equivalence Partitioning. 2. Types and Levels of Testing 2.1 Levels of Testing, 22 Unit Testing: Driver, Stub. 2.3 Integration Testing: Top-Down Integration, Bottom-Up Integration, Bi-Directional Integration. 2.4 Testing on Web Application: Performance Testing: Load Testing, Stress Testing, Security Testing, Client-Server Testing. 2.5 Acceptance Testing: Alpha Testing and Beta Testing, Special Tests: Regression Testing, GUI Testing, 3. Test Management 3.1. Test Planning: Preparing a Test Plan, Deciding Test Approach, Setting Up Criteria for Testing Identitying Responsibilities, Staffing, Resource Requirements, Test Deliverables, Testing Tasks. 3.2 Test Management: Test Infrastructure Management, Test People Management. 3.3 Test Process: Base Lining a Test Plan, Test Case Specification. 3.4 Test Reporting: Executing Test Cases, Preparing Test Summary Report 4.1 Detect Classification, Detect Management Process. 42 Defect Life Cycle, Defect Template. 4.3 Estimate Expected Impact of a Defect, Techniques for Finding Defects, Reporting a Detect, 5. Testing Tools and Measurements 5.1 Manual Testing and Need for Automated Testing Tools, 5.2 Advantages and Disadvantages of using Tools. 5.3 Selecting a Testing Tool. 5.4 When to use Automated Test Tools, Testing Using Automated Tools. 5.5 Metrics and Measurement: Types of Metrics, Product Metrics and Process Metrics, Object Oriented Metrics in Testing. coy Contents Bw 4. Basics of Software Testing and Testing Methods | 1-484 — 1.0 Introduction 1 1.1. Software Testing 13 1.1.1 Objectives of Testing 13 1.1.2. Testing Principles 13 1.1.3 Detinition of Software Testing 14 1.1.4 Goals of Software Testing 15 1.1.5 Model for Software Te sting 15 1.4.6 Software Testing Life Cycle 16 4.1.7. Role of Testing 17 1.2. Testing Terminology 18 4.21. Failure 18 1.22 Error 18 12.3 Fault 19 1.2.4 Defect . 19 125 Bug 19 1.3 Test Case 4.10 1.3.1. When To Start and Stop Testing of Software (Entry and Exit Criteri 4.12 1.3.2 Software Tester 1.13 1.4 Verification and Validation and V Model 1.13 1.4.1. Verification 1.14 1.4.2. Validation 1.16 4.4.3 Ditference between Verification and Validation 1.47 1.44 V Mode! 1.18 4.4.5 Quality Assurance and Quality Control 1.19 1.4.5.1 Quality Assurance 1.19 1.4.5.2. Quality Control 4.20 1.5 Methods of Testing: Static and Dynamic Testing 121 1.6 White-Box Testing 4.22 1.6.1 Classification of White-Box Testing 4.23 1.6.2. Advantages and Disadvantages White-Box Testing 4.28 1.6.3. Static Testing 1.24 1.6.3.1 Inspections 1.25 4.6.3.2. Structured Walkthroughs 1.26 1.6.3.3 Technical Review oo 1.6.3.4 Coding Standards 127— 17 1.6.4 Structural Testing/Dynamic White-Box Testing 1.6.4.1. Code Functional Testing 1.6.4.2 Code Coverage Testing 1.6.4.3 Code Complexity Testing Black-Box Testing 1.7.1 Techniques for Black-Box Testing 1.7.2. Advantages and Disadvantages of Black-Box Testing 1.7.3 Requirements Based Testing 1.7.4. Positive and Negative Testing 1.7.41 Positive Testing 1.7.4.2 Negative Testing 1.7.5 Boundary Values Analysis 1.7.6 Equivalence Partitioning * Practice Questions + MSBTE's Questions & Answers 20 a4 22 23 24 25 26 27 Introduction Levels of Testing - i: Unit Testing (Driver and Stub) 2.2.1 Driver and Stub 22.2 Advantages and Disadvantage of Unit Testing Integration Testing 2.3.1 Top-Down integration 2.3.2 Bottom-Up Integration 2.3.3 Bi-Directional Integration Testing on Web Page Application Performance Testing 2.5.1 Load Testing 2.8.2 Stress Testing 2.5.3 Security Testing 2.5.4. Client Server Testing Acceptance Testing 2.6.1. Alpha and Beta Testings 26.2 Alpha Testing 2.6.3 Beta Testing Special Tests 2.7.4 Regression Testing 2.7.2. GUI Testing 2.7.3. Smoke Testing 2.7.4 Sanity Testing * Practice Questions + MSBTE’s Questions & Answers 127 3. Test Management 3.1 ~ 3.24 30 Introduction ay 31 Test Planning 32 3.1.1 Test Plan 33 3.1.2. Preparing a Test Plan a8 3.1.3. Scope Management 35 3.1.4 Deciding Test Approach / Strategy 36 3.1.5 Setting-up Criteria tor Testing a7 3.1.6 Identifying Responsibility 38 3.1.7. Staffing and Training Needs a9 3.1.8 Resource Requirements 39 3.1.9 Identifying Test Deliverables 39 3.1.10 Testing Tasks (Size and Effort Estimation) 3.10 3.1.11 Schedule an 3.2 Test Management 3.12 "8.2.1. Choice of Standard 3.12 3.2.2 Test Infrastructure Management 3.14 3.2.3 Test People Management [ 3.16 3.2.4. Integrating with Product Release 3.16 3.3 Test Process 317 3.3.1 Base Lining a Test Plan 317 3.3.2 Test Case Specification 317 3.3.3. Update of Traceability Matrix 3.18 3.4 Test Reporting a 3.18 3.4.1. Recommending Product Release 3.19 3.4.2 Matrix Executing Test Cases 319 3.4.3 Collecting and Analyzing Metrics 3.20 3.4.4. Preparing Test Summary Report 3.20 * Practice Questions 3.21 + MSBTE’s Questions & Answers 3.21 ‘4 Defect Management 41-416 4.0 _ Introduction 44 4.1. Basios for Defect Management 42 4.1.1 What is a Defect? 42 4.1.2. What is a Defect Management? 42 4.1.3. Detect Classification 42 4.1.4 Detect Management Process or Approach 44 4.1.4.1 Principles of Detect Management Process 44 4.4.4.2. Steps in Detect Management Process 24 41.43 Detect Prevention Process / Detect Fixing 45 4.144 Deliverable Basolines 46 4.1.44 Defect Discovery a7 4.1.4.6 Detect Resolution Process 47 4.1.4.7 Process Improvement 4a 4.1.4.8 Management Reporting 48 42> Detect Lite Cycle and Defect Template 49 4.2.1 Defect / Bug Lite Cycle 49 4.22 Defect Template 4.10 4.3. Estimate Expected Impact of a Defect, Techniques for Finding Defects and Reporting a Defect 4.12 4.3.1 Estimate Expected Impact of a Detect 442 4.3.2. Techniques for Finding Detects 4.13 4.3.3 Reporting a Defect 4.13 * Practice Questions 444 + MSBTE’s Questions & Answers 445 5. Testing Tools and Measurements 5.1-5.30 5.0 Introduction 54 5.1. Manual Testing and Automation Testing 84 5.1 Manual Testing 51 5.1.2. Automation Testing 53 5.1.3. Need of Automated Testing Tools 56 5.2 Advantages and Disadvantages of Using Tools 87 5.3. Selecting 3 Testing Tool — 5.4 When to Use Automated Test Tools 59 5.5 Testing Using Automated Tools 59 5.6 Metrics and Measurement 5.12 5.6.1 Why Metrics in Testing? 5.15 5.6.2. Types of Metrics 5.16 5.6.2.1 Project Metrics 5.16 5.6.2.2 Progress Metrics 5.19 . 5.6.2.3 Productivity Metrics 5.22 5.6.2.4 Process Metrics 5.24 5.6.2.5 Object Oriented Metrics in Testing 5.25 + Practice Questions 5.27 + MSBTE’s Questions & Answers 527 Basics of Software Testing and Testing Methods Chapter Outcomes. Identify errors and bugs in the given program. Prepare test case for the given application, Describe the entry and exit criteria for the given test application. Validate the given application using V model in relation with quality assurance. ] Describe features of the given testing method. Learning Objective: To understand Basic Concepts of Software Testing and Objectives of Testing To identify Bug in a given Problem and Write Test Cases for the Given Application To describe the Entry and Exit Criteria for the given Test Application To study Verification and Validation To understand Quality Assurance and Quality Control To study Methods of Testing such as Static Testing and Dynamic Testing To learn Software Testing approaches such as White-box testing and Black-box Testing E 7 INTRODUCTION * Testing is natural universal process followed by every entity in the universe. Every engineering application for every branch of engineering, sciences, and non-engineering fields need to be tested. * Software testing is necessary because we all make mistakes. Some of those mistakes are unimportant, but some of them are or dangerous. We need to check everything and anything we produce because things can always go wrong ~ humans make mistakes all the time. ‘Since, we assume that our work may have mistakes, hence we all need to check our own work. However some mistakes come from bad assumptions and blind spots, so we might make the same mistakes when we check our own work as we made when we did it. + So we may not notice the flaws in what we have done. Ideally, we should get someone else to check our work because another person is more likely to spot the flaws. Without testing quality product is not possible. «In this book we will see various methods, techniques, procedures to test software and hardware as a product for the total complete product for the purpose of automation that is a bug free product which is fit for use to costumer. + Let us see what is software testing. We write simple program to implement on hardware for solving the purpose of automation hay Software Testing 12 og of Bottware Testing and Testing Metmong Consider a simple scenario of Addition of 2 numbers. Here, logic Is simple « « a +b. The code for it ig Hincludecstaio.h> int main() { int a, b,c; printf("Enter two numbers to add\n"); scanf("XdXd" ,8a,8b) ; cw ard; printf("Sum of entered numbers = %d\n 1c) ) The different combinations of input and output are as follows: 1 b=0 c=0 -+ Correct output. b=2 c=3— Correct output. 3. b=3 c=6— Incorrect output, * Here, the output of program is incorrect for third point though there {s no syntax and symantec error or hardware fault. Something is missing or wrong. In short, we are not getting out put as per our requirement or system is not functioning as per our requirement or we are not getting output as Per our requirement. Means there is some error, bug or failure, Developer develops the code and a person who test the program are tester. + In this book we will see in depth theoretical techniques and procedures to test the application for the purpose of automation. A testis the act of exercising software with test cases. Test cases are inputs and outputs specification plus a statement of the function under the test. + A test has two distinct goals ice, to find failures and to demonstrate correct execution. * Why do we test? The two main reasons are to make a judgement about quality or acceptability and to discover problems. Testing is the execution of work product with intent to find defect. + Testing involves finding the difference between actual behaviours with respect to the expected behaviours of an application or systems. «The general testing process is the creation of a test strategy (which sometimes includes the creation of test cases), creation of a test plan/design (which usually includes test cases and test procedures) and the execution of tests. © The purpose of the test process is to provide information to assure the quality of the product, decisions and the processes for a testing assignment, + Fig. 11 shows process of testing. Fig. 1.4: Basic Testing Process ._ Test process for all Test Phases Pimplementation | } and [Execution ‘Monitoring and control | Evaluating — exitcriteria + Quality software is reasonably bug or defect free, delivered on time and within budget, meets requirements and/or expectations, and is maintainable, + 180 8402-1986 standard defines quality as “the totality of features and characteristics of a product or service that bears its ability to satisfy stated or implied needs.” + The primary purpose of software testing is to show that the software performs its intended function correctly. sottware Testing

You might also like