Software Quality Assurance Lecture #8 By: Faraz Ahmed.

Slides:



Advertisements
Similar presentations
Testing Relational Database
Advertisements

Test process essentials Riitta Viitamäki,
Testing and Quality Assurance
Annoucements  Next labs 9 and 10 are paired for everyone. So don’t miss the lab.  There is a review session for the quiz on Monday, November 4, at 8:00.
Abirami Poonkundran 2/22/10.  Goal  Introduction  Testing Methods  Testing Scope  My Focus  Current Progress  Explanation of Tools  Things to.
Software Quality Assurance Inspection by Ross Simmerman Software developers follow a method of software quality assurance and try to eliminate bugs prior.
Illinois Institute of Technology
Software Testing. “Software and Cathedrals are much the same: First we build them, then we pray!!!” -Sam Redwine, Jr.
Systems Analysis and Design in a Changing World, 6th Edition
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.
Types and Techniques of Software Testing
BY RAJESWARI S SOFTWARE TESTING. INTRODUCTION Software testing is the process of testing the software product. Effective software testing will contribute.
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.
Software Testing. Recap Software testing – Why do we do testing? – When it is done? – Who does it? Software testing process / phases in software testing.
Software testing.
Categories of Testing.
1 Software Testing (Part-II) Lecture Software Testing Software Testing is the process of finding the bugs in a software. It helps in Verifying and.
CompSci 230 Software Design and Construction
Objectives Understand the basic concepts and definitions relating to testing, like error, fault, failure, test case, test suite, test harness. Explore.
CS 501: Software Engineering Fall 1999 Lecture 16 Verification and Validation.
CS4311 Spring 2011 Verification & Validation Dr. Guoqiang Hu Department of Computer Science UTEP.
Software testing basic. Main contents  Why is testing necessary?  What is testing?  Test Design techniques  Test level  Test type  How to write.
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.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 23 Reliability III.
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.
Introduction to Software Testing. Types of Software Testing Unit Testing Strategies – Equivalence Class Testing – Boundary Value Testing – Output Testing.
Sylnovie Merchant, Ph.D. MIS 161 Spring 2005 MIS 161 Systems Development Life Cycle II Lecture 5: Testing User Documentation.
1 SOFTWARE TESTING Presented By Abhilash.S  What is Software Testing?  Fundamentals of software Testing Error/Mistake? Defect/Bug/Fault? Failure? 2.
TESTING LEVELS Unit Testing Integration Testing System Testing Acceptance Testing.
Chapter 8 Lecture 1 Software Testing. Program testing Testing is intended to show that a program does what it is intended to do and to discover program.
MANUAL TESTING KS SESSION PRESENTED BY 26/11/015 VISHAL KUMAR.
PRESENTER PRIYANKA GUPTA.  Testing the complete system with respect to requirements.  In System testing, the functionalities of the system are tested.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
1 Software Testing Strategies: Approaches, Issues, Testing Tools.
Software Quality Assurance and Testing Fazal Rehman Shamil.
1 Object-Oriented Analysis and Design with the Unified Process Figure 13-1 Implementation discipline activities.
Teaching slides Chapter 9. Chapter 9 Software Testing (Verification & Validation) Introduction Software testing & software engineering methodologies Introduction.
Dynamic Testing.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
Outsourcing, subcontracting and COTS Tor Stålhane.
Testing and Evaluating Software Solutions Introduction.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
Lecturer: Eng. Mohamed Adam Isak PH.D Researcher in CS M.Sc. and B.Sc. of Information Technology Engineering, Lecturer in University of Somalia and Mogadishu.
Testing and Evolution CSCI 201L Jeffrey Miller, Ph.D. HTTP :// WWW - SCF. USC. EDU /~ CSCI 201 USC CSCI 201L.
 Software reliability is the probability that software will work properly in a specified environment and for a given amount of time. Using the following.
SOFTWARE TESTING AND QUALITY ASSURANCE. Software Testing.
Software Testing By Souvik Roy. What is Software Testing? Executing software in a simulated or real environment, using inputs selected somehow.
CS223: Software Engineering Lecture 25: Software Testing.
Software Testing Strategies for building test group
Testing Tutorial 7.
Rekayasa Perangkat Lunak Part-13
SOFTWARE TESTING OVERVIEW
Software Testing.
Chapter 9, Testing.
Verification and Testing
Software Testing.
TESTING IN THE SOFTWARE LIFE CYCLE &TEST LEVELS Chapter 2 1/11/
Applied Software Implementation & Testing
Software testing strategies 2
Introduction to Software Testing
Lecture 09:Software Testing
Testing and Test-Driven Development CSC 4700 Software Engineering
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Software System Testing
Software Testing Strategies
Types of Software Testing Course. CONTENT  Black-box testing course  White-box software testing course  Automated software testing course  Regression.
Presentation transcript:

Software Quality Assurance Lecture #8 By: Faraz Ahmed

Contents 0 Course Outline 0 Marks Distribution 0 Fundamentals of Quality Assurance 0 Discussion 0 Reference

Static Testing 0 Uses a checklist to identify whether standards are being followed. 0 Code is not actually run for this testing. Skimming of code is done. Coding, integrating and deploying. 0 Can occur in Coding, integrating and deploying. 0 Walkthroughs and inspections are types of static testing

Static Testing 0 Usually done to check completeness (verification aspect) 0 Cost of bugs in this phase? 0 List of Static testing tools can be found in wikipedia 0 TASK #1: Show me how to use any one of the tools available for static testing.

Dynamic Testing 0 Involves actually running the software 0 Part of the validation aspect 0 Examples include Unit tests, Integration tests, System tests and acceptance tests.

Black box testing 0 Takes an external perspective of the software 0 Assumes that the complexities do not exist, and just test the system using inputs and checking the outputs.

Black box testing 0 Should make use of randomly generated inputs. 0 An input range should be provided by the developer. 0 Extreme cases should be checked. 0 Outliers should be checked for robustness. 0 Stress and crash testing should also be performed.

Black box testing 0 Also known as functional testing 0 Examples are stress testing, recovery testing and user acceptance testing. 0 Divided into two types: User required and User not required.

BB where user not required! 0 Functional Testing: the software is tested for the functional requirements. 0 Stress Testing: The application is tested against heavy load such as complex numerical values, large number of inputs, large number of queries etc.

BB where user not required! 0 Functional Testing: the software is tested for the functional requirements. 0 Stress Testing: The application is tested against heavy load such as complex numerical values, large number of inputs, large number of queries etc. while depriving the system of resources.

BB where user not required! 0 Load Testing : The application is tested against heavy loads (representative loads/ Maximum sustainable loads) or inputs such as testing of web sites in order to find out at what point the web-site/application fails or at what point its performance degrades.

BB where user not required! 0 Ad-hoc Testing: This type of testing is done without any formal Test Plan or Test Case creation. helps testers in learning the application prior starting with any other testing. 0 Usability Testing

BB where user not required! 0 Smoke Testing: is done in order to check if the application is ready for further major testing and is working properly without failing up to least expected level. 0 Recovery Testing: done in order to check how gracefully the application can recover against any type of crash or hardware failure etc.

BB where users required! 0 User Acceptance Testing: the software is handed over to the user in order to find out if the software meets the user expectations and works as it is expected to.

BB where users required! 0 Alpha Testing: the users are invited at the development center where they use the application and the developers note every particular input or action carried out by the user. Any type of abnormal behavior of the system is noted and rectified by the developers.

BB where users required! 0 Beta Testing: In this type of testing, the software is distributed as a beta version to the users and users test the application at their sites. As the users explore the software, in case if any exception/defect occurs that is reported to the developers. 0 How are the defects reported?

White box testing 0 Knowledge of how the system is implemented. 0 Analyses data flow, control flow, coding practices and exception handling. 0 Focus on security testing and looking for vulnerabilities like sql injection 0 A tester has to think like an attacker/hacker.

White box testing 0 TASK #2: What do you understand by Gray-box testing? 0 Testing techniques: 0 Data-Flow Analysis 0 Code-based fault injection 0 Abuse cases (utilizing known attack patterns) 0 Code Coverage Analysis (eliminate risks such as trojan horse)

White box testing 0 TASK #3: Explore a coverage analysis tool.

Unit Testing 0 The goal of unit testing is to isolate each part of the program and show that the individual parts are correct 0 Test driven development ?

Requirements Testing 0 If the requirements are wrong, there would be no outcome of testing the application. 0 The quality gateway: as soon as we get a requirement, we outline its possible defects and try to gauge whether they would disrupt our design. 0 Make the requirements measurable.

Quantifiable requirements 0 Make the requirement quantifiable, so that the solution can be measured. 0 Example might be the time it takes a page to load. 0 Consider the question, what would it take to not meet the requirement?

Non-Quantifiable requirements 0 We can convert these into quantifiables by going through what the client might mean from them. 0 Consider the question, what would it take to not meet the requirement?

Regression Testing 0 Regression testing : testing which seeks to uncover bugs. Regression bugs occur whenever software functionality that previously worked as desired, stops working or no longer works in the same way that was previously planned. 0 Common methods of regression testing include re- running previously run tests

Regression Testing 0 Local - changes introduce new bugs. 0 Unmasked - changes unmask previously existing bugs. 0 Remote - Changing one part breaks another part of the program

Error handling testing 0 It determines the ability of applications system to process the incorrect transactions properly 0 Errors encompass all unexpected conditions. 0 In some system approx. 50% of programming effort will be devoted to handling error condition.

Manual testing 0 To test the system more thoroughly 0 There is no alternative to it.

Quiz 0 Why doesn’t the developer do the black box testing?