Software Testing. An Overview

Similar documents
INTRODUCTION TO SOFTWARE ENGINEERING

Quote by Bruce Sterling, from: A Software Testing Primer, Nick Jenkins

Software Testing Interview Question and Answer

Cursul Aprilie

Three General Principles of QA. COMP 4004 Fall Notes Adapted from Dr. A. Williams

Learn Well Technocraft

Certified Tester Foundation Level(CTFL)

WHY TEST SOFTWARE?...

Helix Test Case Management Best Practices

Manual Testing. Software Development Life Cycle. Verification. Mobile Testing

(Complete Package) We are ready to serve Latest Testing Trends, Are you ready to learn? New Batches Info

Information Systems. Software Engineering. MCQ - Part 2

QUIZ #5 - Solutions (5pts each)

Mind Q Systems Private Limited

Sample Exam Syllabus

Types of Software Testing: Different Testing Types with Details

Examination Questions Time allowed: 1 hour 15 minutes

Diploma in Software Testing (DST)

The requirements engineering process

QA Best Practices: A training that cultivates skills for delivering quality systems

Bridge Course On Software Testing

1 Visible deviation from the specification or expected behavior for end-user is called: a) an error b) a fault c) a failure d) a defect e) a mistake

Karnendu Raja Pattanaik and Narayanan Devasikamani May 29, Effective QA Methodology for Enterprise Storage

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 11/10/2015


Software Engineering Fall 2014

Chap 2. Introduction to Software Testing

In this Lecture you will Learn: Testing in Software Development Process. What is Software Testing. Static Testing vs.

Shift Left, Automation, and Other Smart Strategies for Getting Ahead in QA

Automated Acceptance testing by Developers & Automated Functional Testing by Testers

Continuous Integration Ensemble / HealthShare Health Connect

UNIT-2 Levels of Testing

Comparison Study of Software Testing Methods and Levels- A Review

Verification and Validation

Mind Q Systems Private Limited

Chapter 10. Testing and Quality Assurance

Software Testing MANUAL TESTING. Introduction to Testing. Software Quality Software Testing Definition. Different Life Cycle Models Waterfall Model

ICAgile Learning Roadmap Agile Testing Track

Diploma in Software Testing 2.0 (HP)

BEHAVIOR DRIVEN DEVELOPMENT BDD GUIDE TO AGILE PRACTICES. Director, Strategic Solutions

Agile Manifesto & XP. Topics. Rapid software development. Agile methods. Chapter ) What is Agile trying to do?

Lesson 4: Bug Reporting and STLC

QMS ISO 9001:2015 CERTIFIED COMPANY Software Testing TRAINING.

Software Engineering (CSC 4350/6350) Rao Casturi

Govt. of Karnataka, Department of Technical Education Diploma in Information Science & Engineering. Sixth Semester

Lesson 3: Understanding General Software Development

AN ISO 9001:2008 CERTIFIED COMPANY. Software Testing TRAINING.

The Importance of Test

LEVELS OF TESTING AND SPECIAL TESTS

Software Testing. Software Testing. in the textbook. Chapter 8. Verification and Validation. Verification and Validation: Goals

Ingegneria del Software Corso di Laurea in Informatica per il Management

Lecture 15 Software Testing

Software Testing Tools

Software Quality Assurance. David Janzen

Question 1: What is a code walk-through, and how is it performed?

Testing in the Agile World

Module 1 : Fundamentals of Testing. Section 1: Manual Testing

About Us. Services CONSULTING OUTSOURCING TRAINING MENTORING STAFF AUGMENTATION 9/9/2016

Announcements. Presentations on Wednesday. Testing Practice. CS169 Lecture 8 (with slides from Alex Aiken, George Necula,Tom Ball) Reality

Creating an Intranet using Lotus Web Content Management. Part 2 Project Planning

Sample Question Paper. Software Testing (ETIT 414)

SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur

CS 424 Software Quality Assurance & Testing LECTURE 3 BASIC CONCEPTS OF SOFTWARE TESTING - I

Shift Left Testing: are you ready? Live Webinar, Sept 19

Testing is the process of evaluating a system or its component(s) with the intent to find whether it satisfies the specified requirements or not.

SmARt Shopping Project

Contents. Management issues. Technical issues. Mark Fewster.

A CONFUSED TESTER IN AGILE WORLD

Chapter 9 Quality and Change Management

Pearson Education 2007 Chapter 9 (RASD 3/e)

Testing in an Agile Environment Understanding Testing role and techniques in an Agile development environment. Just enough, just in time!

Higher-order Testing. Stuart Anderson. Stuart Anderson Higher-order Testing c 2011

Catch Your Own Bugs: Including all Engineers in the Automation Cycle

Darshan Institute of Engineering & Technology Unit : 9

Testing. ECE/CS 5780/6780: Embedded System Design. Why is testing so hard? Why do testing?

CSCA08 Winter Week 12: Exceptions & Testing. Marzieh Ahmadzadeh, Brian Harrington University of Toronto Scarborough

Web Applications Testing. Ario Nejad, Christopher Choi

How Can a Tester Cope With the Fast Paced Iterative/Incremental Process?

Computer Science and Software Engineering University of Wisconsin - Platteville 9-Software Testing, Verification and Validation

Computational Systems COMP1209

Testing. Unit, integration, regression, validation, system. OO Testing techniques Application of traditional techniques to OO software

How Manual Testers can execute Test Automation. White Papers. Muthiah Director of Testing. Expedux on How Manual Testers

Chapter 8 Software Testing. Chapter 8 Software testing

Subject: Software Engineering & UML (MCA 401)

Certified Software Quality Engineer Preparation On Demand, Web-Based Course Offered by The Westfall Team

I keep hearing about DevOps What is it?

UNIT OBJECTIVE. Understand what system testing entails Learn techniques for measuring system quality

Topic: Software Verification, Validation and Testing Software Engineering. Faculty of Computing Universiti Teknologi Malaysia

Software Testing CS 408

Preview from Notesale.co.uk Page 4 of 186

Turning a Marathon Runner into a Sprinter: Adopting Agile Testing Strategies and Practices at Microsoft

Test Plan. Co-op Evaluation System. Senior Project Team Members: Tyler Geery Maddison Hickson Casey Klimkowsky Emma Nelson.

SE 2730 Final Review

Software Engineering Lifecycles. Controlling Complexity

Test Plan Specification

Software Testing Strategies. Slides copyright 1996, 2001, 2005, 2009, 2014 by Roger S. Pressman. For non-profit educational use only

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1

Testing Objectives. Successful testing: discovers previously unknown errors

Carnegie Mellon University Notice

User-Centered Development

Transcription:

Software Testing An Overview

Software Testing Defined Software testing is the process of verifying & validating that a program or application: Meets technical specifications Meets business requirements Works as expected

Verification vs. Validation Verification: Have we built the program correctly? Does the software match the specification? Validation: Have we built the right program? Does it actually do what the customer wants it to do?

General approach to testing Black box: no knowledge of internal implementation White box: tester has access to the internal data structures & algorithms Gray box: a combination of the above

Levels of testing Unit (or Component) Integration System

Unit level Tests created to exercise the algorithm being developed Performed by the developer Finds defects as early as possible

Integration level Testing that verifies the interfaces between components against software design Exposes defects in interfaces and interactions between components Progressively larger groups of components are tested until the software works as a system

System level System-level testing focuses on a completely integrated system to verify that it meets requirements

Types of tests Alpha & Beta Regression Usability Security Performance Internationalization (I18n) & localization Acceptance

Alpha & Beta type This testing focuses on how the customer uses the program Alpha and beta releases are tested by the target customers Purpose is to gather feedback

Regression type Focuses on finding defects after a major code change has occurred Seeks to uncover software regressions (old bugs that have reappeared)

Usability type Designed to determine if the user interface is easy to use and understand

Security type Essential for software that processes confidential data to prevent system intrusion by hackers

Performance type Load, stress, and endurance tests Determine how the system performs under a particular workload Can validate and verify other quality attributes of the system: Scalability Reliability Resource usage

Internationalization & Localization type Determines that the application still works even after it has been: Translated into a new language Adapted for a new culture, different currency or time zone

Acceptance type Purpose is to verify issues encountered in Alpha/Beta testing have been resolved Normally performed by the customer in their environment Often known as user acceptance testing (UAT)

Testing process Tied to the development process in use: Waterfall Modified waterfall Agile or Extreme

Waterfall test process Testing performed by an independent group AFTER all functionality is developed DEV tosses finished product over the wall to QA at set milestone dates Testing is considered the last stage Definitely old school

Modified waterfall process Testers are a bit more integrated with development team Test activities begin earlier in the project Testing is more of a continuous process

Agile/Extreme process Testers more fully integrated with DEV team Unit tests are created by DEV before coding; focus is on passing unit test DEV produces regular interim builds for integration & system-level tests Testing is a continuous process

General testing cycle Requirements analysis (determine what can be tested) Test planning (strategy, test plan, test bed) Test development (procedures, scenarios, cases, scripts) Test execution (following the above) Test reporting (results and metrics)

Testing cycle (cont.) Test result analysis (defect analysis) Defect retesting (after DEV has fixed) Regression testing Test closure (capturing results, logs, lessons learned for archive) Repeat

Review Test approach (black, white, gray box) Levels of testing (unit, integration, system) Types of testing (alpha & beta, regression, usability, security, performance, I18N, acceptance) Testing process (waterfall, modified waterfall, agile/extreme) Test cycle

DEV versus QA Avoid ending up in an adversarial relationship Recognize and respect each other s role and abilities Focus on working as a team to create a better product Realize that EVERYONE makes mistakes Keep egos in check