The Role of Experience in Software Testing Practice Zahra Molaei Soheil Hedayatitezengi Comp 587 Prof. Lingard 1 of 21.

Slides:



Advertisements
Similar presentations
Configuration management
Advertisements

Configuration management
Requirements Validation
BUSINESS PLUG-IN B2 Business Process.
Software Quality Assurance Plan
Chapter 4 Quality Assurance in Context
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Sixth Hour Lecture 10:30 – 11:20 am, September 9 Framework for a Software Management Process – Artifacts of the Process (Part II, Chapter 6 of Royce’ book)
Developing safety critical systems
1 SYS366 Week 1 - Lecture 2 How Businesses Work. 2 Today How Businesses Work What is a System Types of Systems The Role of the Systems Analyst The Programmer/Analyst.
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
Copyright © 2006 Software Quality Research Laboratory DANSE Software Quality Assurance Tom Swain Software Quality Research Laboratory University of Tennessee.
Software Testing and Quality Assurance
Iterative development and The Unified process
Overview of the Multos construction process Chad R. Meiners.
Karolina Muszyńska Based on
Task analysis 1 © Copyright De Montfort University 1998 All Rights Reserved Task Analysis Preece et al Chapter 7.
CHAPTER 9 DEVELOPING BUSINESS/IT STRATEGIES. IT Planning Planning an information system doesn’t start with bits, and bytes, or a Web site. It starts with.
Introduction to Systems Analysis and Design
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
Senior Design – Acceptance Test Plan Review The goal is to: define the criteria for approving the application. Tightly coupled to the Requirements document.
User Experience Design Goes Agile in Lean Transformation – A Case Study (2012 Agile Conference) Minna Isomursu, Andrey Sirotkin (VTT Technical Research.
Design Reviews Peer Reviews. Agenda Peer Reviews Participants of Peer Review Preparation for a Peer Review Session The Peer Review Session Post-peer Review.
Introduction to Computer Technology
Test Design Techniques
Software Testing Verification and validation planning Software inspections Software Inspection vs. Testing Automated static analysis Cleanroom software.
S/W Project Management
Extreme Programming Software Development Written by Sanjay Kumar.
© Siemens AG, CT SE 1, Dr. A. Ulrich C O R P O R A T E T E C H N O L O G Y Research at Siemens CT SE Software & Engineering Development Techniques.
Test Organization and Management
CompSci 230 Software Design and Construction
University of Palestine software engineering department Testing of Software Systems Testing throughout the software life cycle instructor: Tasneem.
Software testing techniques Testing Maturity Model Presentation on the seminar Kaunas University of Technology.
RUP Implementation and Testing
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
Dr. Ralph R. Young Director of Software Engineering Systems and Process Engineering Northrop Grumman Information Technology (703)
Software testing basic. Main contents  Why is testing necessary?  What is testing?  Test Design techniques  Test level  Test type  How to write.
Error reports as a source for SPI Tor Stålhane Jingyue Li, Jan M.N. Kristiansen IDI / NTNU.
 CS 5380 Software Engineering Chapter 8 Testing.
Creating a Shared Vision Model. What is a Shared Vision Model? A “Shared Vision” model is a collective view of a water resources system developed by managers.
Configuration Management (CM)
Certification and Accreditation CS Phase-1: Definition Atif Sultanuddin Raja Chawat Raja Chawat.
Using error reports in SPI Tor Stålhane IDI / NTNU.
1 Dr. Ralph R. Young Director of Software Engineering PRC, Inc. (703) DOORS USER GROUP CONFERENCE Reston, VA September 17,
Lecture 7: Requirements Engineering
Principles of Information Systems, Sixth Edition Systems Design, Implementation, Maintenance, and Review Chapter 13.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Software Verification, Validation and Testing.
Requirement Elicitation Process Lesson 3. Requirements Elicitation  Is the process to find out the requirements for an intended software system by communicating.
Software Product Line Material based on slides and chapter by Linda M. Northrop, SEI.
Software Testing and Quality Assurance Software Quality Assurance 1.
Requirements Validation
Chapter 2: Testing in Software Life Cycle MNN1063 System Testing and Evaluation.
Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,
Smart Home Technologies
Requirements Analysis
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
Lectures 2 & 3: Software Process Models Neelam Gupta.
“The Role of Experience in Software Testing Practice” A Review of the Article by Armin Beer and Rudolf Ramler By Jason Gero COMP 587 Prof. Lingard Spring.
Software Engineering Process - II 7.1 Unit 7: Quality Management Software Engineering Process - II.
1 Requirements Analysis Lecture # Recap of Requirements Elicitation - 1 Requirements elicitation deals with discovering requirements for a software.
BUSINESS PLUG-IN B2 Business Process.
The Development Process of Web Applications
BUSINESS PLUG-IN B2 Business Process.
CMGT 445 Competitive Success/snaptutorial.com
CMGT 445 Education for Service/snaptutorial.com
CMGT 445 Teaching Effectively-- snaptutorial.com.
Lecture 09:Software Testing
Baisc Of Software Testing
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
What is Software Engineering?
Presentation transcript:

The Role of Experience in Software Testing Practice Zahra Molaei Soheil Hedayatitezengi Comp 587 Prof. Lingard 1 of 21

Introduction 1 1. We will look at three projects that overseen by Siemens Austria to find out how experience used in software testing is important. 2. The goal of paper is to “better understand the role of experience for effective testing in order to develop successful testing strategies and tool support.” 2 of 21

Structure of paper 1. What is the Motivatio n of the paper. 2. A brief overview of the 3 investiga ted projects 3. We Look at the presented result by author. 4. We look at the author’s Conclus ion. 3 of 21

Paper Motivation 1. Few empirical studies exist that focus on how software testing is conducted in practice 2. We need more demonstration of how software testing is done rather than reports of it. 3.Experience is an important factor for developing test cases 4 of 21

Research Question All three case that studied in the paper analyzed based on following questions: What testing activities are based on experience? What is the perceived value of experience for testing? What defined experience- based testing techniques are used? How has the experience relevant for testing been established? What measures are taken for managing and evolving experience in testing? 5 of 21

Data Collection How they have collected the data in the paper? Testers, developers, test managers and project managers were interviewed based on the presented research question. Project documents such as test plans, spes doc were also analyzed. The participants of the study reviewed the data that was collected to verify that it was accurate. 6 of 21

Description of three projects This source for this table was the article. 7 of 21

Mission of project: Develop a high-reliable and high-performance software platform including IP-based services for telecommunication networks. Size of project: mid-sized, 35 People worked on this project, 12 in testing. Characteristics: Development and testing were distributed in Austria, Germany, other areas of Europe. 8 of 21 Description of three projects Case 1. Telecommunication

More than 60 percent of the tests addressed non-functional requirements such as availability, performance. The system had to support two different hardware platforms, each platform with different configurations. Testing activities spanned over different levels : Component testing, integration testing and system testing were done. 9 of 21

Description of three projects Case 1. Telecommunication Component Tests: Conducted by developers, test cases were derived from interface specifications, tests test were simulating various hardware device. Based on personal experience of developers additional tools applied. integration Tests: mainly concerned with performance issues and done at the same time as development. Some tests were devised from the developers' experience due to the lack of detail in the complex requirements. System Tests: Test cases were derived from the requirements. There were based on tester’s interpretation of requirements. Regression Testing also became important as test cases increased. The selection of tests for regression testing was made based on the developers' experience. Developers worked with testers in order to let them know what parts of the software were changed. 10 of 21

Description of three projects Case 2. Banking and Insurance Mission of project: Replace the existing host application in the domain of banking and insurance with a Web application written in Java.(1 year) Size of the project: Project team size: people. The project team were consist of : employees of the banking and insurance company, Siemens personnel and people from other software engineering companies. 11 of 21

Description of three projects Case 2. Banking and Insurance

Characteristics: The development process was incremental and consisted of several releases. The requirements consisted of use cases which were input for the development and implementation and system testing. Testing consisted of unit, integration, system and acceptance testing. 12 of 21

Description of three projects Case 2. Banking and Insurance Unit and integration testing were done under the guidance of senior developers with experience in the technology. System tests: a team of 5 was drawn from important users and domain experts. Test cases were from use cases in a formal way. Because many functional and non-functional requirements were incomplete or ambiguous, some tests in the second release of application had to be made based on tester’s experience. In second release of application parts of the system were tested much more thoroughly based on their knowledge of risk of potential defects in critical part of the problem. 13 of 21

Description of three projects Case 3. Railways System. Mission of project: Investigating testing of an electronic interlocking system of a railways control system which is a safety-critical project. Size of project: Large scale project and about 100 people were involved in this project. Testing and development of the project was based on the CENELEC standard. 14 of 21

Description of three projects Case 3. Railways System. The standard that used in the system promoted the V-model for development and testing. There had to be a test case which corresponded with every single requirement. Test cases at the system and software level were designed by tester based on their experience with interlocking system.

Description of three projects Case 3. Railways System. Test cases for lower-level parts of the system were developed by testers familiar with railway control systems. Also, the requirements were not all precise, so exploratory testing, which was experience- based, had to be done. 15 of 21

Summary of Results What activities of testing are based on experience? Test case development Regression testing Test automation 16 of 21

Summary of Results What is the perceived value of experience for testing? More defects are found Missing parts of the requirements specifications can still be tested for. Experience-based testing is expensive 17 of 21

Summary of Results In Telecommunications, the test cases had to be automated before the execution which made experience-based testing difficult. This technique was infeasible for a large extent of test cases. In Banking and Insurance, deriving test cases from experience had been planned for the second iteration. Error guessing was used in this case to discover defects, and these test cases were based on where failures had occurred before. In Railway Systems, error guessing had to satisfy the IEC standard. What defined experience- based testing techniques are used? 18 of 21

Summary of Results In telecommunications, gained experience was based on previous testing of the same systems. In Banking and insurance, intimate knowledge of organization due to working for the company for several years. In railway, several years of experience in testing different types of interlocking systems. Own knowledge of railway system. How has the experience relevant for testing been established? 19 of 21

In all three projects, management considered experience as essential for effective testing. All interviewed partners emphasized training on the job. Experience was gained from just participating in testing itself. Iterative development also gave testers the opportunity to learn what to test for in each version of the software based on past experience. What measures are taken for managing and evolving experience in testing? 20 of 21 Summary of Results

conclusions Finding the optimal mix of testing knowledge and domain knowledge is thus a vital issue for successful projects reviewing. improving requirements specifications for testing is an easy yet effective measure also to improve testing. Existing testing tools failed to leverage experience for effective testing and future work needs to be done to enhance testing tool usage. 21 of 21

Questions