Smart Testing and Recycling Testing

Slides:



Advertisements
Similar presentations
Key-word Driven Automation Framework Shiva Kumar Soumya Dalvi May 25, 2007.
Advertisements

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
Rational Unified Process
Test Environments Arun Murugan – u Rohan Ahluwalia – u Shuchi Gauri – u
Fundamentals of Information Systems, Second Edition
Agile-SCRUM. Introduction to SCRUM Sanil Xavier What is Scrum?
Agile Testing with Testing Anywhere The road to automation need not be long.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Extreme Programming.
® IBM Software Group © 2006 IBM Corporation PRJ480 Mastering the Management of Iterative Development v2 Module 3: Phase Management - Inception.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Software Testing Life Cycle
Teaching material for a course in Software Project Management & Software Engineering – part II.
Development Methodology N. Draper. Introduction Development Process Test driven development Continuous Integration –Automated build and test Trac Ticket.
Testing -- Part II. Testing The role of testing is to: w Locate errors that can then be fixed to produce a more reliable product w Design tests that systematically.
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
From Quality Control to Quality Assurance…and Beyond Alan Page Microsoft.
Chapter 22 Developer testing Peter J. Lane. Testing can be difficult for developers to follow  Testing’s goal runs counter to the goals of the other.
CS5103 Software Engineering Lecture 02 More on Software Process Models.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
Get the New Agile Attitude: Quality First! Object Mentor, Inc. Copyright  by Object Mentor, Inc All Rights Reserved
Version Control and SVN ECE 297. Why Do We Need Version Control?
CSC444F'07Lecture 41 CSC444 Software Engineering Top 10 Practices.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Establishing Project Scope 1. Factors Affecting Project Scope  The functionality that must be delivered to meet the user’s needs  The resources available.
T Project Review Wellit I1 Iteration
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
Chapter 25 – Configuration Management 1Chapter 25 Configuration management.
Insert name of presentation on Master Slide The Quality Improvement Guide Insert Date here Presenter:
Applied Software Project Management SOFTWARE TESTING Applied Software Project Management 1.
Information Systems Development
TK2023 Object-Oriented Software Engineering
Project Overview and Current Status
Change Request Management
Applied Software Testing
Software Testing Strategies for building test group
Software Engineering Management
Project Management Chapter 3.
TeXlipse [I1] Iteration
Software Engineering (CSI 321)
Fundamentals of Information Systems, Sixth Edition
Software Project Management
Software Life Cycle “What happens in the ‘life’ of software”
Software 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.
Taking an Iteration Down to Code
Applied Software Implementation & Testing
Information Systems Development
Software Project Management
Johanna Rothman Know What “Done” Means Chapter 11
Design and Programming
Finding and Managing Bugs CSE 403 Lecture 23
CSCE 489- Problem Solving Programming Strategies Spring 2018
Inspection and Review The main objective of an Inspection or a Review is to detect defects. (Not for Giving Alternative Solutions) This activity and procedure.
Chapter 3 – Agile Software Development
Quality Assurance in an Agile Development Team Michelle Wu 2018 PNSQC
Just-In-Time Testing Robert Sabourin President AmiBug.Com, Inc.
Chapter 8 Software Evolution.
Case Study 1 By : Shweta Agarwal Nikhil Walecha Amit Goyal
Extreme Programming.
Software Testing Lifecycle Practice
OBJECTIVE QUALITY ASSURANCE TESTS TESTING STRATEGIES
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Time Scheduling and Project management
Software Testing Strategies
Presentation transcript:

Smart Testing and Recycling Testing Aarti Gupta

Why this topic ? Testing process is tedious, elaborate BUT is necessary. How we currently test our system Acceptance testing Regression testing Value based tests first Check on boundary conditions Equivalence partitioning Requirements to test case mapping

Testing lifecycle Concurrent testing with development Testing features based on iterations and value of the tests. Ok so I am the tester, the developers have not finished working on the functionalities yet, what do I test ? How do I co-ordinate the tests to be conducted, and determine the best, (most stable) time to test the system ? When do I automate tests?

Why developer-tester co-ordination is difficult. Solution that ICM suggests- Role and responsibility of project manager to team developers and testers. “us” verses ‘them” Multiple developers Evolving, unstable interfaces Concurrent work schedules Only one environment Delay in implementing functionalities “as planned”. No formal process in place

How can you be a smart tester? We tried, and I am sure you did too.

Introduction of testing milestones within iterations.

Proposed Milestones Milestone 1: Feature complete: completion of development of the code and test cases related to the promised features in the given iteration Testing-Code Freeze 1: Use this period to build automated test scripts. Milestone 2: Code complete: stop writing code, and concentrate only on bug fixes Testing-Code Freeze 2: no code check ins, concentrate on automated script rebuilding. Milestone 3: Development ‘Code Freeze’: all major bug fixes complete, from hereon either minor fixes or “wont fix.” Testing code Freeze 3: automated test scripts must be completed, refined, reported. Milestone 4: Internal Alpha Testing: Ad-hoc testing and scenario based testing is carried out. Encourage all success critical stakeholders to test internal product.

Wait! How is this recycling? Recycling, the act of processing used or abandoned materials for use in creating new products. We can both reduce and recycle testing, by test automation. Automation has become easy, with the use of “Front end based” automation tools like evalid. We already use these in this class. But do we recycle? Did you know that an automated test written, prior to a change in code, is bound to fail. Processing and eliminating these errors is difficult and time consuming. Writing new tests is always simpler than editing older ones. The “testing code freeze” gives the tester, frequent and stable script building time, where tests developed in a previous milestone are now refined, to the much more stable version, since certain functionalities have been frozen and completed. Regression-…Did we break anything, by this fix/build? Wait! You don’t need to perform all tests again, simply run your automated scripts.

Benefits Prevents wasted effort Fine-grains the planning of each iteration, all features within an iteration, may have the same value ,but different developers may be on different notes. Milestones bring them back on the road! The iteration plan lays down a specific, list of expected features within each iteration, and these milestones specify the degree of expected readiness of the features If a feature is not ready past code complete, then re-scope. Prevents delay in deadlines and convergence from concurrent testing and development to waterfall based approach. Prevents loss or overlooking of bugs, generally caused by constant changes in code configurations, due to which some bugs may not be reproducible.

How do “we” tackle bugs, as opposed to “I” THE ‘TRI’AGE

Manager-Technical Lead-Tester “Triage is actually a French word meaning “Sorting.” In medical triage, patients, on a battlefield or at the scene of an emergency, are evaluated to determine which are in need of immediate care, and which can wait. These three stakeholders meet primarily to discuss the status of open bugs, which bugs need to be fixed first, in terms of “Priority and Severity”. “ Sort ” your open bugs, developers and testers may have conflicting understanding of the bug itself. PM bridges the gap. Bugs with same priority should be fixed by solving the most severe, and then least costly ones first. developers commit to which functionality is ready to test, and the testers go ahead and test those functionalities, until the list is updated in the next triage.

Benefits of TRI-AGE Key stakeholders are now on the same page, specially for the most contradictory issue- BUGS PM can revise cost estimates based on information gained about project delays and effort required to fix bugs. Triage increases team coordination and teaming of testers and developers. Lays down expectations from both the developers and the testers, and helps in fine grained planning of each iteration Most importantly- Triage tells testers, “When to test a functionality”

Do these improvements blend in with IICM in 577 a, b ? Yes, because COCOMO cost estimates can be updated more frequently and more accurately. Value based Testing spread sheet can be used in TRI-ages. Lay emphasis on value based testing. Involve key stakeholders. Still use the iteration plan, simply more fine grained with milestones.