CHAPTER 2 Testing Throughout the Software Life Cycle

Slides:



Advertisements
Similar presentations
Object Oriented Analysis And Design-IT0207 iiI Semester
Advertisements

Test process essentials Riitta Viitamäki,
System Integration Verification and Validation
1 Integration Testing CS 4311 I. Burnstein. Practical Software Testing, Springer-Verlag, 2003.
Software Quality Assurance Plan
Software Testing 3 Damian Gordon.
Illinois Institute of Technology
Testing - an Overview September 10, What is it, Why do it? Testing is a set of activities aimed at validating that an attribute or capability.
Software Testing & Strategies
Issues on Software Testing for Safety-Critical Real-Time Automation Systems Shahdat Hossain Troy Mockenhaupt.
Software System Integration
BY RAJESWARI S SOFTWARE TESTING. INTRODUCTION Software testing is the process of testing the software product. Effective software testing will contribute.
Chapter 13 & 14 Software Testing Strategies and Techniques
ECE 355: Software Engineering
Extreme Programming Software Development Written by Sanjay Kumar.
University of Palestine software engineering department Testing of Software Systems Testing throughout the software life cycle instructor: Tasneem.
Test plans CSCI102 - Systems ITCS905 - Systems MCS Systems.
Software Testing Testing principles. Testing Testing involves operation of a system or application under controlled conditions & evaluating the results.
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
Software Development Software Testing. Testing Definitions There are many tests going under various names. The following is a general list to get a feel.
Dr. Tom WayCSC Testing and Test-Driven Development CSC 4700 Software Engineering Based on Sommerville slides.
University of Palestine software engineering department Testing of Software Systems Testing throughout the software life cycle instructor: Tasneem.
Sylnovie Merchant, Ph.D. MIS 161 Spring 2005 MIS 161 Systems Development Life Cycle II Lecture 5: Testing User Documentation.
TESTING LEVELS Unit Testing Integration Testing System Testing Acceptance Testing.
Controls design Controls are “the plan of organization and all the methods and measures to safeguard its assets, check the accuracy and reliability of.
Software Testing Process By: M. Muzaffar Hameed.
Chapter 2: Testing in Software Life Cycle MNN1063 System Testing and Evaluation.
Software Engineering Saeed Akhtar The University of Lahore.
Software Testing and Quality Assurance 1. What is the objectives of Software Testing?
Integration testing Integrate two or more module.i.e. communicate between the modules. Follow a white box testing (Testing the code)
Software Engineering Issues Software Engineering Concepts System Specifications Procedural Design Object-Oriented Design System Testing.
Software Testing Mehwish Shafiq. Testing Testing is carried out to validate and verify the piece developed in order to give user a confidence to use reliable.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
CS 325: Software Engineering February 16, 2016 Designing a Design Class Diagram Design Class Diagrams DCD: Restaurant Example DCD: ATM Example Software.
Testing and Evolution CSCI 201L Jeffrey Miller, Ph.D. HTTP :// WWW - SCF. USC. EDU /~ CSCI 201 USC CSCI 201L.
SOFTWARE TESTING. SOFTWARE Software is not the collection of programs but also all associated documentation and configuration data which is need to make.
Asst.Prof.Dr. Wararat Songpan(Rungworawut)
SOFTWARE TESTING LECTURE 9. OBSERVATIONS ABOUT TESTING “ Testing is the process of executing a program with the intention of finding errors. ” – Myers.
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
Software Testing Kobla Setriakor Nyomi Faculty Intern (Programming II)
Software Testing Strategies for building test group
Software Testing.
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Integration Testing.
Software Testing.
Rekayasa Perangkat Lunak Part-13
TESTING TOOLS MANUAL APPROACH BY J.ADI SESHU.
SOFTWARE TESTING OVERVIEW
Software Testing.
Chapter 2: Testing throughout the software life cycle
Software engineering – 1
Chapter 18 Software Testing Strategies
Chapter 13 & 14 Software Testing Strategies and Techniques
CHAPTER 2 Testing Throughout the Software Life Cycle
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Lecture 09:Software Testing
Software System Integration
Testing and Test-Driven Development CSC 4700 Software Engineering
Static Testing Static testing refers to testing that takes place without Execution - examining and reviewing it. Dynamic Testing Dynamic testing is what.
Software Testing & Quality Management
Chapter 10 – Software Testing
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Chapter 11: Integration- and System Testing
Chapter 7 Software Testing.
CS410 – Software Engineering Lecture #11: Testing II
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:

CHAPTER 2 Testing Throughout the Software Life Cycle The University of Lahore A “W4” Category University Lecture 13 CHAPTER 2 Testing Throughout the Software Life Cycle 17/09/2018

Test Scenario The University of Lahore A “W4” Category University Test Scenario “It is a test procedure which specifies sequence of action for the execution of a test.” Test scenario is broken down into one or more test cases. 17/09/2018

The University of Lahore A “W4” Category University Example Scenario: verifying that a user is able to manage his e-mail inbox such as view all messages, send a message, manage folders, logout..etc with a valid user login and password 17/09/2018

Test Scenario- Example Solution The University of Lahore A “W4” Category University Test Scenario- Example Solution Test Cases: is e-mail login page is displaying is the user able to login using his login ID and password is he able to view his inbox is he able to delete unwanted -mails. 17/09/2018

The University of Lahore A “W4” Category University Test Level “A group of test activities that are organized and managed together.” Types of Test Levels Component Testing Integration Testing Acceptance Testing System Testing 17/09/2018

Test Levels-Important to know about V-Model again The University of Lahore A “W4” Category University Test Levels-Important to know about V-Model again 17/09/2018

Test Levels-Component Testing The University of Lahore A “W4” Category University Test Levels-Component Testing Component Testing “The testing of individual software components is called component testing.” It searches for defects and verifies the functioning of the software (e.g. modules, programs, objects classes etc.) 17/09/2018

Test Levels-Component Testing The University of Lahore A “W4” Category University Test Levels-Component Testing 17/09/2018

The University of Lahore A “W4” Category University 17/09/2018

Test Levels-Component Testing The University of Lahore A “W4” Category University Test Levels-Component Testing Component Testing is classified into 3 types: 1- Execution Testing 2- Operation Testing 3- Mutation Testing 17/09/2018

The University of Lahore A “W4” Category University Execution Testing Verifying the logic of the program.(statement coverage, loop coverage, conditional coverage, program technique coverages etc.) 17/09/2018

Test Levels-Component Testing (Execution Testing Example 1) The University of Lahore A “W4” Category University Test Levels-Component Testing (Execution Testing Example 1) Example READ A READ B C = A + 2 * B IF C>50 THEN PRINT “LARGE C” ENDIF TEST SET 1 Test 1_1: A = 2, B = 3 Test 1_2: A = 0, B = 25 Test 1_3: A = 47, B = 1 Test 1_4: A = 20, B = 25 (100% coverage) 17/09/2018

Test Levels-Component Testing (Execution Testing Example) The University of Lahore A “W4” Category University Test Levels-Component Testing (Execution Testing Example) Example READ A READ B C = A - 2 * B IF C<0 THEN PRINT “C negative” ENDIF TEST SET 2 Test 2_1: A = 20, B = 15 Test 2_2: A = 10, B = 2 17/09/2018

Test Levels-Component Testing The University of Lahore A “W4” Category University Test Levels-Component Testing 2- Operation Testing Checking whether the program is running on the customer expected platform(i.e. OS, Compilers, Browser etc.) 3- Mutation Testing To check whether the program is responding to the changes or not. 17/09/2018

Test Levels-Component Testing The University of Lahore A “W4” Category University Test Levels-Component Testing Approach of Component Testing Extreme Programming (XP) Test-First Approach OR Test-Driven Development To prepare test cases before coding. OR A way of developing software where the test cases are developed before the software is developed to run those test cases. 17/09/2018

Test Levels-Component Testing The University of Lahore A “W4” Category University Test Levels-Component Testing Component testing may include testing of: 1- Functionality Requirements 2- Non-functionality Requirements 3- Robustness Testing Robustness to which a component or system can function correctly in the presence of invalid inputs. Robustness testing is to determine the robustness of the software product. 17/09/2018

Test Levels-Component Testing The University of Lahore A “W4” Category University Test Levels-Component Testing 17/09/2018

Test Levels-Component Testing The University of Lahore A “W4” Category University Test Levels-Component Testing 17/09/2018

Test Levels-Integrated Testing The University of Lahore A “W4” Category University Test Levels-Integrated Testing Integration The process of combining components into larger assemblies. Integrated Testing “All individual units are integrated/combined and tested is called integrated testing.” Once Unit testing is completed those tested units (program) are integrated and we call it as a module. Then those modules are tested to validate that after integrating all the programs that module is functioning properly or not and we also call this as Component testing. Once all the modules are tested then those modules are again integrated to check those interconnections are working properly or not 17/09/2018

Test Levels-Integrated Testing The University of Lahore A “W4” Category University Test Levels-Integrated Testing 17/09/2018

Test Levels-Integrated Testing The University of Lahore A “W4” Category University Test Levels-Integrated Testing Other Levels of Integration Testing Component Integration Testing Tests the interactions between software components and is done after component testing. System Integration Testing Tests the interactions between different systems i.e. systems that can even run on different platforms. Big-bang Integration Testing (First Extreme) All components are integrated simultaneously, after which everything is tested as a whole. 17/09/2018

Test Levels-Integrated Testing The University of Lahore A “W4” Category University Test Levels-Integrated Testing Advantages of Big-bang Integration Testing No need to simulate parts, often called stubs. Stubs A stub is a piece of software which performs functionality of a not yet constructed/under- constructed component. OR while integrating in top down approach any compulsory module are missed replaced with temporary programs known as stubs. 17/09/2018

Test Levels-Integrated Testing The University of Lahore A “W4” Category University Test Levels-Integrated Testing Disadvantages of Big-bang Integration Testing 1- It is time consuming. 2- Difficult to trace the cause of failures because of late integration. 3- Difficult to check the functionality of components. 17/09/2018

Test Levels-Integrated Testing The University of Lahore A “W4” Category University Test Levels-Integrated Testing Second Extreme All components are integrated one by one and tests are carried out after every step, this is called Incremental Testing. 17/09/2018

Test Levels-Integrated Testing The University of Lahore A “W4” Category University Test Levels-Integrated Testing Advantages of Incremental Testing 1- Defects are found early 2- Easy to detect Defects Disadvantage of Incremental Testing 1- It is time consuming as stubs and drivers have to be developed and used in the test. 17/09/2018

Test Levels-Integrated Testing The University of Lahore A “W4” Category University Test Levels-Integrated Testing Other Possibilities in Incremental Testing 1- Top-down testing: Takes place from top to bottom, following the control flow. 2- Bottom-up testing: Takes place from the bottom of the control flow upwards. 17/09/2018

Test Levels-Integrated Testing The University of Lahore A “W4” Category University Test Levels-Integrated Testing Example of Yahoo Mail (Top-down Approach) Creating an account Logging into account Clicking on Compose Typing email and do formatting Clicking on options Clicking on send 17/09/2018

Test Levels-Integrated Testing The University of Lahore A “W4” Category University Test Levels-Integrated Testing CLASS WORK How do you do integration testing, if you are in hotmail login page integrate it with mailing page? 17/09/2018

SOLUTION The University of Lahore A “W4” Category University SOLUTION Verify that the mailing page displayed some information related to user who logged on at login page. OR If you registered with the name "XXX". It should be displayed as Welcome XXX in the mailing page. 17/09/2018

Test Levels-Integrated Testing The University of Lahore A “W4” Category University Test Levels-Integrated Testing Software engineer/testers are responsible to perform the following testing GUI software testing Compatibility testing Error handling testing Load testing Volume testing Stress testing User help testing Capacity testing usability testing functionality testing non-functionality testing performance testing security testing 17/09/2018

The University of Lahore A “W4” Category University Requirement A condition or capability needed by a user to solve a problem or achieve an objective that must be met. 17/09/2018

Test Levels-System Testing The University of Lahore A “W4” Category University Test Levels-System Testing System Testing “The process of testing an integrated system to verify that it meets specified requirements.” It concerned with the behaviour of the whole system. It is most often the final test to verify that the system to be delivered meets the specification. Its purpose is to find as many defects as possible. 17/09/2018

Test Levels-System Testing The University of Lahore A “W4” Category University Test Levels-System Testing System testing should investigate: Functional Requirements A requirement that a component or system must perform i.e interoperability, security, accuracy and compliance. Non-Functional Requirements Requirement that does not relate the functionality, but to attributes of such as: Reliability Efficiency Usability Portability etc 17/09/2018

Test Levels-Acceptance Testing The University of Lahore A “W4” Category University Test Levels-Acceptance Testing “Its an activity of testing whether the software is acceptable and fulfilling the user requirements or not.” Two main test types in business-supporting system 1- User Acceptance Test 2- Operational Acceptance Test It focuses the fitness-for-use (validation) by the business users performed by the users and application managers. It focuses on check of backup & recovery, disaster, maintenance tasks and security shortly before the system is released. 17/09/2018

Test Levels-Acceptance Testing The University of Lahore A “W4” Category University Test Levels-Acceptance Testing Other types of acceptance testing Compliance Acceptance Testing OR Regulation Acceptance Testing The capability of the software product to strictly firm to Governmental standards, regulations in laws and safety. Commercial-Off-The-Shelf (COTS) software acceptance testing 1- Alpha Testing: This takes place at the developer’s site. A cross-section of users and member’s of the developer’s organization are invited to use the system. 2- Beta Testing Beta Testing is last stage of testing where a product is sent outside the company or customer’s site or offer the product for free trial download. 17/09/2018

Test Types-The targets of Testing The University of Lahore A “W4” Category University Test Types-The targets of Testing “A group of test activities aimed at testing a component or system focused on a specific test objective. A test type may take place on one or more test levels.” Functional Testing (What it does?)-1st Target of Testing Black-box testing Functionality Testing Interoperability Testing Security Testing 17/09/2018

Test Types-The targets of Testing The University of Lahore A “W4” Category University Test Types-The targets of Testing Black Box Testing “It is testing without knowledge of the internal workings of the item being tested.” For example, when black box testing is applied to software engineering, the tester would only know the "legal" inputs and what the expected outputs should be, but not how the program actually arrives at those outputs. It is because of this that black box testing can be considered testing with respect to the specifications, no other knowledge of the program is necessary. 17/09/2018

Test Types-The targets of Testing The University of Lahore A “W4” Category University Test Types-The targets of Testing Functionality Testing “The process of testing to determine the functionality of the software.” e.g. Does the system produce what we require? Does the system is generating the employee’s salaries per month? Does the system is doing the bank’s transactions properly? Interoperability Testing “The process of testing to determine the interoperability of a software product.” e.g. the one component is effectively interacting or communicating with the other component. 17/09/2018

Test Types-The targets of Testing The University of Lahore A “W4” Category University Test Types-The targets of Testing Security Testing “Testing to determine the security of the software product.” e.g. to test that user name and password belong to an authentic user. 17/09/2018

Test Types-The targets of Testing The University of Lahore A “W4” Category University Test Types-The targets of Testing HOME Reading Non-Functional Testing (2nd Target of Testing) 1- Load Testing 2- Performance Testing 3- Stress Testing 4- Reliability Testing 5- Usability Testing 6- Portability Testing 7- Efficiency Testing 17/09/2018

Test Types-The targets of Testing The University of Lahore A “W4” Category University Test Types-The targets of Testing Structural Testing (3rd Target of Testing) 1-White-Box or Glass-box or Clear-box or Open-box Testing “The white box test is basic knowledge on internal logic of a particular application code.” Because we are interesting what is happening inside the box (Detail knowledge of the code) 2- Code Coverage “An analysis method to determine which parts of the software have been executed or tested and which parts have not been executed yet.” 17/09/2018

The University of Lahore A “W4” Category University Testing Related to Change-Final Target Confirmation Testing (Re-testing) “Testing that runs test cases that failed the last time they were run, in order to verify the success of corrective action.” Regression Testing Testing of a previously tested program following modification to ensure that defects have not been introduced in unchanged areas of the software as a result of the change made.” 17/09/2018

Maintenance Testing The University of Lahore Maintenance Testing A “W4” Category University Maintenance Testing Maintenance Testing Modification of a software after delivery to correct defects and to improve performance. Maintainability The ease with which a software product can be modified to meet new requirements, modified to make future maintenance easier. Maintainability Testing The process of testing to determine the maintainability of a software product. 17/09/2018

Test Oracle The University of Lahore A “W4” Category University Test Oracle “A source to determine expected results to compare with the actual results of the software under test. An oracle may be a requirements specification, the existing system, a user manual, or an individual specialized knowledge.” 17/09/2018

End of Chapter 2 The University of Lahore A “W4” Category University 17/09/2018