“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.

Slides:



Advertisements
Similar presentations
Configuration management
Advertisements

Configuration management
Topics to be discussed Introduction Performance Factors Methodology Test Process Tools Conclusion Abu Bakr Siddiq.
Test process essentials Riitta Viitamäki,
CIS 376 Bruce R. Maxim UM-Dearborn
SOFTWARE TESTING. Software Testing Principles Types of software tests Test planning Test Development Test Execution and Reporting Test tools and Methods.
Presentation by Prabhjot Singh
Testing and Quality Assurance
Software Quality Assurance Plan
Chapter 05: Evolutionary Requirements Definition : Requirements  “Requirements are capabilities and conditions to which the system, and more broadly.
Chapter 4 Quality Assurance in Context
System Analysis and Design (SAD )
Presented by: Hatem Halaoui
Fundamentals of Information Systems, Second Edition
Testing - an Overview September 10, What is it, Why do it? Testing is a set of activities aimed at validating that an attribute or capability.
Introduction to Systems Analysis and Design
Copyright © 2014 ASTQB Presented by Rex Black, CTAL Introducing ISTQB Agile Foundation Extending the ISTQB Program’s Support Further.
Choosing Your Primary Research Method What do you need to find out that your literature did not provide?
Introduction to Computer Technology
Test Design Techniques
Software Testing Verification and validation planning Software inspections Software Inspection vs. Testing Automated static analysis Cleanroom software.
Introduction to Information System Development.
System Testing There are several steps in testing the system: –Function testing –Performance testing –Acceptance testing –Installation testing.
Extreme Programming Software Development Written by Sanjay Kumar.
Condor Technology Solutions, Inc. Grace RFTS Application Extension Phase.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management greene.com 1 Applied Software.
CompSci 230 Software Design and Construction
RUP Implementation and Testing
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
Software testing basic. Main contents  Why is testing necessary?  What is testing?  Test Design techniques  Test level  Test type  How to write.
Understand Application Lifecycle Management
By Touseef Tahir Software Testing Basics. Today's Agenda Software Quality assurance Software Testing Software Test cases Software Test Plans Software.
 CS 5380 Software Engineering Chapter 8 Testing.
Configuration Management (CM)
IT Technical Support 1. Introduction Technical support personnel offer support for individual and organizations in a variety of ways. This module focuses.
Testing Workflow In the Unified Process and Agile/Scrum processes.
Using error reports in SPI Tor Stålhane IDI / NTNU.
From Quality Control to Quality Assurance…and Beyond Alan Page Microsoft.
©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.
The Role of Experience in Software Testing Practice Zahra Molaei Soheil Hedayatitezengi Comp 587 Prof. Lingard 1 of 21.
Software Testing Process By: M. Muzaffar Hameed.
MIS 7003 MBA Core Course in MIS Professor Akhilesh Bajaj The University of Tulsa Introduction to S/W Engineering © All slides in this presentation Akhilesh.
Chapter 2: Testing in Software Life Cycle MNN1063 System Testing and Evaluation.
Software Engineering Jon Walker. What is Software Engineering? Why do we call it Software Engineering? Why not just call it programming or software development?
July, 2008 Impati – Software Test Solutions. July, Contents Testing Service Overview and Approach Test Services and Industries Key Services Offering.
Assoc. Prof. Dr. Ahmet Turan ÖZCERİT.  System and Software  System Engineering  Software Engineering  Software Engineering Standards  Software Development.
Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,
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.
1 Software Testing Strategies: Approaches, Issues, Testing Tools.
Introduction to Evaluation without Users. Where are you at with readings? Should have read –TCUID, Chapter 4 For Next Week –Two Papers on Heuristics from.
Requirements Engineering Processes. Syllabus l Definition of Requirement engineering process (REP) l Phases of Requirements Engineering Process: Requirements.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2010 Stephen R. Schach
CS223: Software Engineering Lecture 18: The XP. Recap Introduction to Agile Methodology Customer centric approach Issues of Agile methodology Where to.
Chapter 8: Maintenance and Software Evolution Ronald J. Leach Copyright Ronald J. Leach, 1997, 2009, 2014,
Software Engineering Process - II 7.1 Unit 7: Quality Management Software Engineering Process - II.
Software Development Module Code: CST 240 Chapter 6: Software Maintenance Al Khawarizmi International College, AL AIN, U.A.E Lecturer: Karamath Ateeq.
Applied Software Project Management SOFTWARE TESTING Applied Software Project Management 1.
Software Project Configuration Management
The Development Process of Web Applications
Testing Multimedia Products
Applied Software Implementation & Testing
CMGT 445 Competitive Success/snaptutorial.com
CMGT 445 Education for Service/snaptutorial.com
CMGT 445 Teaching Effectively-- snaptutorial.com.
Lecture 09:Software Testing
Introducing ISTQB Agile Foundation Extending the ISTQB Program’s Support Further Presented by Rex Black, CTAL Copyright © 2014 ASTQB 1.
Software testing and configuration : Embedded software testing
Testing, Inspection, Walkthrough
Presentation transcript:

“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 of 21

Introduction: What Is The Paper About? The authors set out to find out how experience is used in software testing in the real world, and set out to answer five specific questions. They did this by doing a study of three projects overseen by Siemens Austria. The authors defined “experience” as “practical knowledge that has been developed by direct observation of or participation in testing activities.” Their goal was to “better understand the role of experience for effective testing in order to develop successful testing strategies and tool support.” 2 of 21

Presentation Overview Part I: Why and how was their study done? Part II: A brief overview of the 3 Siemens projects: –A Telecommunications Project –A Banking and Insurance Project –A Railway Systems Project Part III: Summary of the results the authors obtained (What were the answers to the authors' five research questions?) Part IV: Authors' conclusions 3 of 21

Part I: Why and how was their study done? There haven't been a lot of studies which describe how software testing is actually done in the real world. Good information on how testing is actually conducted can be used to direct further research about testing. It is important to distinguish between ideas in academia about how testing ought to be conducted and how testing is actually conducted in the real world. 4 of 21

Part I: Why and how was their study done? The authors set out to answer these five research questions in their study: 1)“What testing activities are based on experience?” 2)“What is the perceived value of experience for testing?” 3)“What defined experience-based testing techniques are used?” 4)“How has the experience relevant for testing been established?” 5)“What measures are taken for managing and evolving experience in testing?” 5 of 21

Part I: Why and how was their study done? How did the paper's authors collect the data? Testers, developers, test managers and project managers were interviewed. Questions based on the research questions were asked during interviews. Project documents were also analyzed. The participants of the study reviewed the data that was collected to verify that it was accurate. 6 of 21

Part II: A brief overview of the 3 Siemens projects This source for this table was the article. 7 of 21

Part II: A brief overview of the 3 Siemens projects (Telecommunications Example – Slide 1) Project Mission: “Develop a high-reliable and high- performance software platform including IP-based services for telecommunication networks.” 35 People worked on this project, 12 in testing. Development and testing were done in Austria, Germany, other areas of Europe. 8 of 21

Part II: A brief overview of the 3 Siemens projects (Telecommunications Example – Slide 2) A majority of the tests were for non-functional requirements including: availability, performance, high load and long duration. The software would need to be used on two platforms, each with different hardware, and each of those could be configured in many ways. Component testing, integration testing and system testing were done. 9 of 21

Part II: A brief overview of the 3 Siemens projects (Telecommunications Example – Slide 3) Component Tests: test cases were derived from interface specifications and run with hardware device simulators. Personal experience dictated what additional tools to use. 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 requirements. System Tests: Test cases were derived from the requirements. Regression Testing: The selection of tests for regression testing was made based on the developers' experience. Developers advised the testers on what parts of the software were changed. 10 of 21

Part II: A brief overview of the 3 Siemens projects (Banking and Insurance Example – Slide 1) Replace an existing banking and insurance application with a Web application written in Java. Composition of the project team: employees of the banking and insurance company, Siemens personnel and people from other software engineering companies. Project team size: people. 11 of 21

Part II: A brief overview of the 3 Siemens projects (Banking and Insurance Example – Slide 2) The development process was incremental and consisted of several releases. The requirements consisted of use cases. Testing consisted of unit, integration, system and acceptance testing. 12 of 21

Part II: A brief overview of the 3 Siemens projects (Banking and Insurance Example – Slide 3) 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 (again, experience is key here). The incremental nature of this project meant that, with each release, the testers knew likely places to find bugs based on their experience with previous releases. Because many functional and non-functional requirements were incomplete or ambiguous, some tests had to be made based on developers experience and the advice of domain experts. 13 of 21

Part II: A brief overview of the 3 Siemens projects (Railway System Example – Slide 1) This project involved development of a component of a railway control system. This was a safety- critical system, meaning that failures could not be allowed. About 100 people were involved in this project. There had to be a test case which corresponded with every single requirement. 14 of 21

Part II: A brief overview of the 3 Siemens projects (Railway System Example – Slide 2) 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

Part III: Summary of the results the authors obtained (Q1: “What activities of testing are based on experience?”) The authors found that these activities relied on experience: –Test case development –Regression testing –Test automation 16 of 21

Part III: Summary of the results the authors obtained (Q2: “What is the perceived value of experience for testing?”)  More defects are found  Missing parts of the requirements specifications can still be tested for.  However, experience-based testing is expensive 17 of 21

Part III: Summary of the results the authors obtained (Q3: “What defined experience-based testing techniques are used?”) In Case #1: Telecommunications, the test cases had to be specified up front and had to be automated, which made experience-based testing difficult. Instead, more traditional testing techniques were used. In Case #2: Banking and Insurance, testing prior to the 2nd release relied on experience-based test cases based on experiences from the 1st release. Error guessing was used in this case to discover defects, and these test cases were based on where failures had occurred before. In Case #3: Railway Systems, error guessing had to be used to meet the IEC standard. 18 of 21

Part III: Summary of the results the authors obtained (Q4: “How has the experience relevant for testing been established?”) In other words, where do testers get their experience from? The authors found these sources cited most: –Previous testing of the same systems –Code analysis and defect removal –Participation in development and maintenance –Being a user of similar systems 19 of 21

Part III: Summary of the results the authors obtained (Q5: “What measures are taken for managing and evolving experience in testing?”) Experience was gained from just participating in testing itself. Making sure that testers share knowledge is important in managing and evolving experience. Iterative development also gave testers the opportunity to learn what to test for in each version of the software based on past experience. 20 of 21

Part IV: Authors' conclusions They note that one area for future research is to determine what the best combination of testing knowledge and domain knowledge is. The authors discovered that testing difficulties often arose due to imperfections in the requirement specifications. The authors say that, if perfect specifications cannot be created, employ experience-based testing. They noted that existing testing tools do not take into account the testers' experience, nor do they assist with gaining new experience, so perhaps these tools could be designed to fix these shortcomings. 21 of 21