SOFTWARE TESTING STRATEGIES CIS518001VA016-1114-001: ADVANCED SOFTWARE ENGINEERING TERM PAPER.

Slides:



Advertisements
Similar presentations
Software Testing Strategies
Advertisements

SOFTWARE TESTING. Software Testing Principles Types of software tests Test planning Test Development Test Execution and Reporting Test tools and Methods.
Presentation by Prabhjot Singh
Software Quality Assurance Plan
1 SOFTWARE TESTING Przygotował: Marcin Lubawski. 2 Testing Process AnalyseDesignMaintainBuildTestInstal Software testing strategies Verification Validation.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Illinois Institute of Technology
Software Testing Name: Madam Currie Course: Swen5431 Semester: Summer 2K.
Chapter Eighteen Software Testing Strategies
Chapter 11: Testing The dynamic verification of the behavior of a program on a finite set of test cases, suitable selected from the usually infinite execution.
Introduction to Software Testing
Software Testing & Strategies
Software Testing Strategies
Software Engineering Lecture 13 Software Testing Strategies 1.
BY RAJESWARI S SOFTWARE TESTING. INTRODUCTION Software testing is the process of testing the software product. Effective software testing will contribute.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
Software Testing Software testing is the execution of the software with actual test data. Sometimes it is called dynamic software testing to distinguish.
Chapter 13 & 14 Software Testing Strategies and Techniques
BY: GARIMA GUPTA MCA FINAL YEAR WHAT IS SOFTWARE TESTING ? SOFTWARE TESTING IS THE PROCESS OF EXECUTING PROGRAMS OR SYSTEM WITH THE INTENT.
System Implementation. System Implementation and Seven major activities Coding Testing Installation Documentation Training Support Purpose To convert.
Programinės Įrangos Testavimo Strategijos
CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 13b: Software Testing Strategies Software Engineering: A Practitioner’s Approach, 6/e Chapter.
Chapter 2 The process Process, Methods, and Tools
CPIS 357 Software Quality & Testing
Software Systems Verification and Validation Laboratory Assignment 3 Integration, System, Regression, Acceptance Testing Assignment date: Lab 3 Delivery.
Lecture 11 Testing and Debugging SFDV Principles of Information Systems.
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
1 Software Engineering Muhammad Fahad Khan Software Engineering Muhammad Fahad Khan University Of Engineering.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
1 Chapter 7 Software Testing Strategies. 2 Software Testing Testing is the process of exercising a program with the specific intent of finding errors.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Testing -- Part II. Testing The role of testing is to: w Locate errors that can then be fixed to produce a more reliable product w Design tests that systematically.
TESTING LEVELS Unit Testing Integration Testing System Testing Acceptance Testing.
LECTURE 19 23/11/15 Software Quality and Testing.
CSC 480 Software Engineering Test Planning. Test Cases and Test Plans A test case is an explicit set of instructions designed to detect a particular class.
1 Software Testing Strategies: Approaches, Issues, Testing Tools.
What is a level of test?  Defined by a given Environment  Environment is a collection of people, hard ware, software, interfaces, data etc.
Software Quality Assurance and Testing Fazal Rehman Shamil.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
Software Engineering By Germaine Cheung Hong Kong Computer Institute Lecture 7.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
CS 325: Software Engineering February 16, 2016 Designing a Design Class Diagram Design Class Diagrams DCD: Restaurant Example DCD: ATM Example Software.
ANOOP GANGWAR 5 TH SEM SOFTWARE TESTING MASTER OF COMPUTER APPLICATION-V Sem.
Software Testing Strategies for building test group
Chapter 22 Software Testing Strategies برنامج استراتيجيات الاختبار
Software Engineering: A Practitioner’s Approach, 6/e Chapter 13 Software Testing Strategies copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Levels Of Testing and Special Tests
Chapter 13 & 14 Software Testing Strategies and Techniques
Introduction to Software Testing
Lecture 09:Software Testing
Verification and Validation Unit Testing
Chapter 17 Software Testing Strategies
Chapter 10 – Software Testing
System Testing.
Chapter 17 Software Testing Strategies
Chapter 17 Software Testing Strategies
Chapter 17 Software Testing Strategies.
Chapter 22 Software Testing Strategies
Chapter 17 Software Testing Strategies
Chapter 17 Software Testing Strategies
Integration Testing.
Software Testing Strategies
Chapter 13 & 14 Software Testing Strategies and Techniques 1 Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
Presentation transcript:

SOFTWARE TESTING STRATEGIES CIS518001VA : ADVANCED SOFTWARE ENGINEERING TERM PAPER

Test strategies that will be presented by this term paper presentation 1. Verification and Validation 2. Unit Testing 3. Integration Testing 4. Top-down Integration 5. Bottom-up Integration 6. Regression Testing 7. Smoke Testing 8. Validation Testing 9. Alpha and Beta Testing 10. System Testing 11. Recovery Testing 12. Security Testing 13. Stress Testing 14. Performance Testing

Verification and validation  SQA Activities include: Formal Technical Reviews Quality and configuration audits Performance monitoring Simulation Feasibility studies Documentation reviews Database reviews Algorithm analysis Development testing, qualification testing, and installation testing

Unit testing Unit testing and component testing typically focus on individual program elements  that are present in the unit or component. Unit testing tests a small software unit at a time, which is typically performed by the individual programmer who implemented the unit. Unit testing typically focuses on the implementation details and uses white-box testing techniques, with various coverage criteria as the exit criteria. It typically focuses on the executable statements and related control and data elements.

Integration testing Integration testing deals with the integration of different product components to work together, with the focus on interface and interaction problems among these components. In integration testing, each component is treated as a black-box, while the interconnections among them are examined and modeled to test component interfaces and interactions. Most of the integration testing uses white-box testing techniques. However, the individual units are no longer individual statements or programming unit, but individual components instead.

Top-down integration Top-down approach: This approach moves from the top level of the functional-decomposition tree to the leaves of the tree. A breath-first approach is often used to determine the order of integration. The difficulty of the top-down approach is that when testing a partial group of components, stubs have to be developed separately for components that are not included.

Bottom-up integration Bottom-up approach: In contrast to top-down approach, the bottom-up approach starts from the leaves of the functional-decomposition tree and works up towards the top level. Bottom-up approaches do not require stubs but require drivers instead.

Regression testing Aimed at ensuring that the modified software still meets the specifications validated before the modification activities. regression testing is the re-execution of some subset of tests that have already been conducted to ensure that changes have not propagated unintended side effects.

Smoke testing  The smoke test is used to verify that a successfully installed software application  can be subsequently configured properly. Software components that have been translated into code are integrated into a “build.” A build includes all data files, libraries, reusable modules, and engineered components that are required to implement one or more product functions. A series of tests is designed to expose errors that will keep the build from properly performing its function. The intent should be to uncover “show stopper” errors that have the highest likelihood of throwing the software project behind schedule. The build is integrated with other builds and the entire product (in its current form) is smoke tested daily. The integration approach may be top down or bottom up.

Validation testing Validation succeeds when software functions in a manner that can be reasonably expected by the customer. Reasonable expectations are defined in the Software Requirements Specification—a document that describes all user-visible attributes of the software. The specification contains a section called Validation Criteria. Information contained in that section forms the basis for a validation testing approach.

Alpha and beta testing During alpha testing, for example, a tester might be tasked with simply recreating and documenting defects reported by members of a separate "alpha testing team," which is usually the company's independent testing (Independent Verification and Validation, or IV&V) team. During beta testing, a tester might be tasked with documenting the beta-test procedures to be executed, in addition to recreating and documenting defects found by other beta testers. (Customers are often recruited to become beta testers.)

System testing  System testing and acceptance testing typically focus on the overall operations of the  software system as a whole. System testing is actually a series of different tests whose primary purpose is to fully exercise the computer-based system.

Recovery testing  To test backup and recovery processes, you must perform a number of backups,  interrupt the application abnormally, and restore the application using just the  backups. Recovery data are then validated against the expected pre-failure state.  This testing approach seems relatively straightforward and somewhat intuitive.

Security testing Security testing attempts to verify that protection mechanisms built into a system will, in fact, protect it from improper penetration. During security testing, the tester plays the role(s) of the individual who desires to penetrate the system. Penetration spans a broad range of activities: hackers who attempt to penetrate systems for sport; disgruntled employees who attempt to penetrate for revenge; dishonest individuals who attempt to penetrate for illicit personal gain.

Stress testing  Volume-based performance tracking: Focuses on measuring various throughputs (processing rate) in a system and its components. The basic idea of this method is to insert predefined program throughput tracking code into software components to collect and generate throughput performance traces based on a predefined time interval. During the execution of a component (or system), the volume-based performance tracking code counts the occurrence of a targeted event/transaction/message/operation in software components, and generates a performance trace based on a specified time interval.

Performance testing Software performance testing and measurement refers to testing activities and evaluation efforts to validate system performance and measure system capacity.  There are three major objectives: The first is to validate a product to see if the given component and system performance requirements are satisfied. The next is to find out the product capacity and boundary limits. And, the last is to discover the performance issues, degradations, improvements, and bottlenecks of a software system and its components to support performance tuning and problem fixing.