Baisc Of Software Testing

Slides:



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

Test process essentials Riitta Viitamäki,
SOFTWARE TESTING. Software Testing Principles Types of software tests Test planning Test Development Test Execution and Reporting Test tools and Methods.
Testing and Quality Assurance
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Ch 3: Unified Process CSCI 4320: Software Engineering.
Chapter 4 Quality Assurance in Context
Chapter 2 – Software Processes
Alternate Software Development Methodologies
1 Software Testing and Quality Assurance Lecture 1 Software Verification & Validation.
Introduction to Software Testing
Extreme Programming Software Development Written by Sanjay Kumar.
Software testing.
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
1 Advanced Computer Programming Project Management: Software Life Cycle Copyright © Texas Education Agency, 2013.
Chapter 2 The process Process, Methods, and Tools
CLEANROOM SOFTWARE ENGINEERING.
Objectives Understand the basic concepts and definitions relating to testing, like error, fault, failure, test case, test suite, test harness. Explore.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Instructor: Peter Clarke
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 3 Slide 1 Software Processes l Coherent sets of activities for specifying, designing,
Software Testing. What is Software Testing? Definition: 1.is an investigation conducted to provide stakeholders with information about the quality of.
Lecture 3 Software Engineering Models (Cont.)
This chapter is extracted from Sommerville’s slides. Textbook chapter
1 Software Development Software Engineering is the study of the techniques and theory that support the development of high-quality software The focus is.
An Introduction to Software Engineering
Software Testing Process By: M. Muzaffar Hameed.
Chapter 2 – Software Processes Lecture 1 Chapter 2 Software Processes1.
Chapter 1: Fundamental of Testing Systems Testing & Evaluation (MNN1063)
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.
Software Development Life Cycle (SDLC)
1 Software Testing Strategies: Approaches, Issues, Testing Tools.
Modelling the Process and Life Cycle. The Meaning of Process A process: a series of steps involving activities, constrains, and resources that produce.
 Software Testing Software Testing  Characteristics of Testable Software Characteristics of Testable Software  A Testing Life Cycle A Testing Life.
Software Engineering, 8th edition. Chapter 4 1 Courtesy: ©Ian Sommerville 2006 FEB 13 th, 2009 Lecture # 5 Software Processes.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
This chapter is extracted from Sommerville’s slides. Textbook chapter 22 1 Chapter 8 Validation and Verification 1.
V-Shaped Software Development Life Cycle Model. Introduction: Variation of water fall model. Same sequence structure as water fall model. Strong emphasis.
What is a software? Computer Software, or just Software, is the collection of computer programs and related data that provide the instructions telling.
Chapter 2: The Process. What is Process? Software Engineering Process is the glue that holds the technology layers together and enables rational and timely.
Introduction to Software Testing Part1 Summary & Terms
Methodologies and Algorithms
Software Testing Strategies for building test group
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Lecture 3 Prescriptive Process Models
Software Verification and Validation
SOFTWARE TESTING OVERVIEW
Topic for Presentaion-2
V-Shaped SDLC Model Lecture-6.
Software Process Models
Object oriented system development life cycle
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
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
IT Systems Analysis & Design
Software Processes.
UNIT-1 SOFTWARE TESTING FUNDAMENTALS
Engineering Processes
Introduction to Software Testing
SDLC Model A framework that describes the activities performed at each stage of a software development project.
Lecture 09:Software Testing
Software life cycle models
Unit 2:-Test Planning and Management
Welcome to Corporate Training -1
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 Engineering Lecture 17.
Presentation transcript:

Baisc Of Software Testing Visit to more Learning Resources

Software Testing Software: Software is a set of instructions to perform some task. Software is used in many applications of the real world. Software Testing: Testing can be defined in simple words as “Performing Verification and Validation of the Software Product” for its correctness and accuracy of working

Error, Fault and Failure A programmer makes an error (mistake), which results in a defect (fault, bug) in the software source code. If this defect is executed, in certain situations the system will produce wrong results, causing a failure. Not all defects will necessarily result in failures. A defect can turn into a failure when the environment is changed. A single defect may result in a wide range of failure symptoms. Not all software defects are caused by coding errors. A failure occurs when a faulty piece of code is executed leading to incorrect state that f propagates to the program’s output.

Software Testing Objectives Testing is done to fulfill certain objectives To discuss the distinctions between validation testing and defect testing To describe the principles of system and component testing To describe strategies for generating system test cases To understand the essential characteristics of tool used for test automation To find or prevent defects To determine that software products satisfy specified requirements Ensuring that a system is ready for use Gaining confidence that it works Providing information about the level of quality Determining user acceptability Software quality measures how well software is designed (quality of design), and how well the software conforms to that design (quality of conformance).

Software quality 1) Conformance to specification: Quality that is defined as a matter of products and services whose measurable characteristics satisfy a fixed specification – that is, conformance to an in beforehand defined specification. 2) Meeting customer needs: Quality that is identified independent of any measurable characteristics. That is, quality is defined as the products or services capability to meet customer expectations – explicit or not. Software quality is a multidimensional quantity and is measurable. To do this, we need to divide and measure software quality in terms of quality attributes: Static Quality Attributes Dynamic Quality Attributes

When to Start Testing? An early start to testing reduces the cost and time to rework and produce error-free software that is delivered to the client. However in Software Development Life Cycle (SDLC), testing can be started from the Requirements Gathering phase and continued till the deployment of the software. It also depends on the development model that is being used. For example, in the Waterfall model, formal testing is conducted in the testing phase; but in the incremental model, testing is performed at the end of every increment/iteration and the whole application is tested at the end. Testing is done in different forms at every phase of SDLC: During the requirement gathering phase, the analysis and verification of requirements are also considered as testing. Reviewing the design in the design phase with the intent to improve the design is also considered as testing. Testing performed by a developer on completion of the code is also categorized as testing.

When to Stop Testing? It is difficult to determine when to stop testing, as testing is a never- ending process and no one can claim that a software is 100% tested. The following aspects are to be considered for stopping the testing process: Testing Deadlines Completion of test case execution Completion of functional and code coverage to a certain point Bug rate falls below a certain level and no high-priority bugs are identified Management decision

Verification & Validation

V model, a software development life cycle methodology, describes the activities to be performed and the results that have to be produced during the life cycle of the product. It is known as verification and validation model Validation answers the question – "Are we developing the product which attempts all that user needs from this software ?" and Verification answers the question– "Are we developing this product by firmly following all design specifications ?" V-Model Objectives: Project Risks Minimization Guaranteed Quality Total Cost reduction of the Entire Project Improved Communication between all Parties Involved

The Requirements phase, a document describing what the software is required to do after the software is gathered and analyzed and the corresponding test activity is user acceptance testing. The Architectural Design phase, where a software architecture is designed and building the components within the software and the establishing the relationships between the components and the corresponding test activity is System Testing. The High Level Design phase, breaking the system into subsystems with identified interfaces; then gets translated to a more detailed design and the corresponding test activity is Integration testing. The Detailed Design phase, where the detailed implementation of each component is specified. The detailed design broken into Data structures, Algorithm used and the corresponding test activity is unit Testing. Coding in which each component of the software is coded and tested to verify if faithfully implements the detailed design.

Project management can track progress by milestones Emphasize for verification and validation of the product in early stages of product development. Each stage is testable Project management can track progress by milestones Easy to understand implement and use Limitations: Does not easily handle events concurrently. Does not handle iterations or phases Does not easily handle dynamic changes in requirements Does not contain risk analysis or Mitigation activities For more Details Contact Us