Basic Concepts Snejina Lazarova Senior QA Engineer, Team Lead CRMTeam Dimo Mitev Senior QA Engineer, Team Lead SystemIntegrationTeam Telerik QA Academy.

Slides:



Advertisements
Similar presentations
Damian Gordon. Born May 11, 1930 Died August 6, 2002 Born in Rotterdam, Netherlands A Dutch computer scientist, who received the 1972 Turing Award for.
Advertisements

Test process essentials Riitta Viitamäki,
(c) Dr. Wolfgang J. Schneider GENERAL TESTING PRINCIPLES Dr. Wolfgang J. Schneider 2003 – 2006.
Software Quality Assurance Plan
Chapter 4 Quality Assurance in Context
Snejina Lazarova Senior QA Engineer, Team Lead CRMTeam Dimo Mitev Senior QA Engineer, Team Lead SystemIntegrationTeam Telerik QA Academy Telerik QA Academy.
The Basics of Software Testing
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Software Testing Prasad G.
Stoimen Stoimenov QA Engineer QA Engineer SitefinityLeads,SitefinityTeam6 Telerik QA Academy Telerik QA Academy.
Planning and Tracking Software Quality Yordan Dimitrov Telerik Corporation
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
CS527: (Advanced) Topics in Software Engineering Overview of Software Quality Assurance Tao Xie ©D. Marinov, T. Xie.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
 The software systems must do what they are supposed to do. “do the right things”  They must perform these specific tasks correctly or satisfactorily.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
Chapter 1: Introduction to Software Testing Software Testing
DKT311 Software Engineering Dr. Rozmie Razif bin Othman.
INFO 637Lecture #81 Software Engineering Process II Integration and System Testing INFO 637 Glenn Booker.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
CPIS 357 Software Quality & Testing I.Rehab Bahaaddin Ashary Faculty of Computing and Information Technology Information Systems Department Fall 2010.
Objectives Understand the basic concepts and definitions relating to testing, like error, fault, failure, test case, test suite, test harness. Explore.
Software Testing Life Cycle
Planning and Tracking Software Quality.  What Is Software Quality?  Causes of Software Defects  What is Quality Assurance?  Improving the Software.
CMSC 345 Fall 2000 Unit Testing. The testing process.
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.
FCS - AAO - DM COMPE/SE/ISE 492 Senior Project 2 System/Software Test Documentation (STD) System/Software Test Documentation (STD)
© 2008 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Testing 29/Apr/2009 Petr Panuška.
Testing, Bug Fixing and Debugging the Code Yordan Dimitrov Telerik Corporation
Chapter 13: Regression Testing Omar Meqdadi SE 3860 Lecture 13 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
University of Palestine software engineering department Testing of Software Systems Testing throughout the software life cycle instructor: Tasneem.
1 Introduction to Software Testing. Reading Assignment P. Ammann and J. Offutt “Introduction to Software Testing” ◦ Chapter 1 2.
Chapter 1: Fundamental of Testing Systems Testing & Evaluation (MNN1063)
Chapter 8 Testing. Principles of Object-Oriented Testing Å Object-oriented systems are built out of two or more interrelated objects Å Determining the.
Software Quality Assurance and Testing Fazal Rehman Shamil.
1 Phase Testing. Janice Regan, For each group of units Overview of Implementation phase Create Class Skeletons Define Implementation Plan (+ determine.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
Chapter 3- BASIC CONCEPTS OF TESTING Why software can never be perfect The terms commonly used by software testers.
CS223: Software Engineering Lecture 32: Software Maintenance.
Lecture 3 Software Testing Fundamentals Prof. Mostafa Abdel Aziem Mostafa.
REGRESSION TESTING Software Quality Engineering NC Zunaira Tariq Bese 19B Software Quality Engineering NC Zunaira Tariq Bese 19B.
What is a software? Computer Software, or just Software, is the collection of computer programs and related data that provide the instructions telling.
Introduction to Software Testing Maili Markvardt.
Software engineering - 2 Section 8. QUIZ Show how it is possible to determine the height of a tall building with the aid of a barometer.
MAY 19 th 2016 Jovan Poljački
Testing Integral part of the software development process.
ISQB Software Testing Section Meeting 10 Dec 2012.
Dr. Rozmie Razif bin Othman
Module A Fundamentals of Testing
Software Engineering (CSI 321)
Testing Tutorial 7.
SEVERITY & PRIORITY RELATIONSHIP
Chapter 10 Software Quality Assurance& Test Plan Software Testing
Prologue.
Software Testing An Introduction.
Verification and Testing
IT6004 – SOFTWARE TESTING.
Software engineering – 1
BASICS OF SOFTWARE TESTING Chapter 1. Topics to be covered 1. Humans and errors, 2. Testing and Debugging, 3. Software Quality- Correctness Reliability.
UNIT-1 SOFTWARE TESTING FUNDAMENTALS
CS-4349 Software Testing & Implementation
Definitions.
UNIT-1 SOFTWARE TESTING FUNDAMENTALS
CS240: Advanced Programming Concepts
Welcome to Corporate Training -1
Software Verification, Validation, and Acceptance Testing
Test Cases, Test Suites and Test Case management systems
© Oxford University Press All rights reserved.
Presentation transcript:

Basic Concepts Snejina Lazarova Senior QA Engineer, Team Lead CRMTeam Dimo Mitev Senior QA Engineer, Team Lead SystemIntegrationTeam Telerik QA Academy Telerik QA Academy

1.Why is Testing Necessary?  Software Systems Context  Causes of Software Defects  Role of Testing in Software Development, Maintenance and Operations  Testing and Quality  How Much Testing is Enough? 2.What is Testing? 3.Seven Testing Principles 2

Why is Testing Necessary?

 Software systems are integral part of every sphere of our life 4 Industry Education Business Industry Military Entertainment

 A human being can make an error (mistake)  Errors produce defects  Defects are faults / bugs in the program code, or in a document  If a defect in code is executed, that might cause a failure:  Fail to do what it should do  Do something it shouldn’t 5

 The human factor  Humans make mistakes  Poor training  Time pressure  Code complexity  Complexity of infrastructure  Changing technologies 6

 Organizational factors  Inefficient communication  Unclearly defined requirements  Environmental conditions  Radiation, Magnetism, Electronic fields, Pollution, Etc.  These can change the hardware conditions 7

 Error  Discrepancy between a computed, observed or measured value or condition and the true, specified or theoretically correct value or condition  Human error (mistake)  Human action or inaction that produces an unintended result 8

 Fault (defect, bug)  Abnormal condition that may cause a reduction in, or loss of, the capability of a functional unit to perform a required function  A fault is the cause of an error  Failure  The inability of a system to perform its required functions within specified performance requirements 9

 Definition found in IEEE Standard Glossary Of Software Engineering Terminology  The degree to which a system, component, or process meets specified requirements  The degree to which a system, component, or process meets customer or user needs or expectations 10

 Role of testing in software development, maintenance and operations  Reduce the risk of problems  Reduce long-term defect-related costs  Contribute to the quality of the software  Help meeting standards:  Contractual or legal requirements  Industry-specific standards 11

 Testing can give confidence in the quality of the software if it finds few or no defects  If defects are found, the quality increases when those defects are fixed  Lessons learnt from previous mistakes improve future performance 12

 How much testing should be done is a matter of risk:  Too much testing can delay the product release and increase the product price  Insufficient testing hides risks of errors in the final product 13

 What is testing?  The process of exercising software  To verify that it satisfies specified requirements and to detect errors  The process of analyzing a software item  To detect the differences between existing and required conditions (that is, bugs),  To evaluate the features of the software item 15

 What is testing?  The process of operating a system or component under specified conditions  Observing or recording the results  Making an evaluation of some aspect of the system or component 16

Main Test Activities  Testing is not just running tests, but also:  Planning and control  Choosing test conditions  Designing and executing test cases  Checking results  Evaluating exit criteria  Reporting on the testing process and system under test  Finalizing or completing closure activities 17

Main Objectives in Testing  Testing pursues several objectives:  Finding defects  Gaining confidence about the level of quality  Providing information for decision-making  Preventing defects 18

 Objectives of testing differ according to the point of view:  Developers  Are perceived as very creative - they write code without which there would be no system  Are rarely good communicators  Can often specialize in just one or two skills (e.g. VB, C++, JAVA, SQL) 19

 Objectives of testing differ according to the point of view:  QA testers  Are perceived as destructive - only happy when they are finding faults!  Usually require good communication skills, tact & diplomacy.  Normally need to be multi-talented (technical, testing, team skills). 20

 Testing  The activity that initially finds failures in a software item  Debugging  The development activity that finds, analyses and removes the cause of the failure  Subsequent re-testing by a tester  Ensures that the fix does indeed resolve the failure 21

1. Testing shows presence of defects  Testing can show that defects are present  Cannot prove that there are no defects  Appropriate testing reduces the probability for defects 23

2. Exhaustive testing is impossible  All combinations of inputs and preconditions are usually almost infinite number  Testing everything is not feasible  Except for trivial cases  Risk analysis and priorities should be used to focus testing efforts 24

3. Early testing  Testing activities shall be started as early as possible  And shall be focused on defined objectives  The later a bug is found – the more it costs! 25

4. Defect clustering  Testing effort shall be focused proportionally  To the expected and later observed defect density of modules  A small number of modules usually contains most of the defects discovered  Responsible for most of the operational failures 26

5. Pesticide paradox  Same tests repeated over and over again tend to loose their effectiveness  Previously undetected defects remain undiscovered  New and modified test cases should be developed 27

6. Testing is context dependent  Testing is done differently in different contexts  Example: safety-critical software is tested differently from an e-commerce site 28

7. Absence-of-errors fallacy  Finding and fixing defects itself does not help in these cases:  The system built is unusable  Does not fulfill the users’ needs and expectations 29

Questions?

1.A test team consistently finds between 90% and 95% of the defects present in the system under test. While the test manager understands that this is a good defect-detection percentage for her test team and industry, senior management and executives remain disappointed in the test group, saying that the test team misses too many bugs. The users are generally happy with the system and the failures which have occurred have generally been low impact. 31 Continues …

Which of the following testing principles is most likely to help the test manager explain to these managers and executives why some defects are likely to be missed? a)Exhaustive testing is impossible b)Defect clustering c)Pesticide paradox d)Absence-of-errors fallacy 32

2.Find in the Internet information about the ISTQB (International Software Testing Board): Search the Internet and get familiar with some famous examples of software failures and the costs that have occurred from them  E.g., you can find some information here: disasters/ disasters/ disasters/ 4.Reproduce the following bugs in windows 7:  seven-bug-report/ seven-bug-report/ seven-bug-report/ 33