1.1 Aims of testing Testing is a process centered around the goal of finding defects in a system. We are currently unable to produce defect-free systems.

Slides:



Advertisements
Similar presentations
Software Quality Assurance Plan
Advertisements

System Development Life Cycle (SDLC)
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
Chapter 1 Introduction to Object- Oriented Programming and Problem Solving.
Lecture 13 Revision IMS Systems Analysis and Design.
Fundamentals of Information Systems, Second Edition
Software Engineering For Beginners. General Information Lecturer, Patricia O’Byrne. – Times: –See noticeboard outside.
Chapter 5: Project Scope Management
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Introduction to Systems Analysis and Design
James A. Senn’s Information Technology, 3rd Edition
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 11 System Test Design
SOFTWARE QUALITY ASSURANCE Asst. Prof. Dr. Selim BAYRAKLI Maltepe University Faculty of Engineering SE 410.
SYSTEM ANALYSIS AND DESIGN
Chapter 1- Introduction
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
S/W Project Management
12.
Overview of the Database Development Process
Enabling Organization-Decision Making
Extreme Programming Software Development Written by Sanjay Kumar.
1.1 1 Introduction Foundations of Computer Science  Cengage Learning.
Requirements Analysis
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
CPIS 357 Software Quality & Testing
RUP Implementation and Testing
1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure.
FCS - AAO - DM COMPE/SE/ISE 492 Senior Project 2 System/Software Test Documentation (STD) System/Software Test Documentation (STD)
Introduction- Project Management By Ctrl+C & Ctrl+V 1.
Capability Maturity Models Software Engineering Institute (supported by DoD) The problems of software development are mainly caused by poor process management.
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Dr. Tom WayCSC Testing and Test-Driven Development CSC 4700 Software Engineering Based on Sommerville slides.
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
Quality Software Project Management Software Size and Reuse Estimating.
Chapter 3 Project Management Chapter 3 Project Management Organising, planning and scheduling software projects.
A Use Case Primer 1. The Benefits of Use Cases  Compared to traditional methods, use cases are easy to write and to read.  Use cases force the developers.
Object-Oriented Software Engineering using Java, Patterns &UML. Presented by: E.S. Mbokane Department of System Development Faculty of ICT Tshwane University.
Chapter 2 A systems view of project management. Learning objectives apply systems theory to explain the interrelations between project elements discuss.
Data Structures and Algorithms Dr. Tehseen Zia Assistant Professor Dept. Computer Science and IT University of Sargodha Lecture 1.
Chapter 1: Fundamental of Testing Systems Testing & Evaluation (MNN1063)
Requirement Engineering. Recap Elaboration Behavioral Modeling State Diagram Sequence Diagram Negotiation.
SOFTWARE ENGINEERING. Objectives Have a basic understanding of the origins of Software development, in particular the problems faced in the Software Crisis.
Lecture 2 System Development Lifecycles. Building a house Definition phase Analysis phase Design phase Programming phase System Test phase Acceptance.
Smart Home Technologies
INTRODUCTION TO SOFTWARE DEVELOPMENT (SOFTWARE ENGINEERING-I)
Requirement Engineering
Oman College of Management and Technology Course – MM Topic 7 Production and Distribution of Multimedia Titles CS/MIS Department.
Requirement Analysis SOFTWARE ENGINEERING. What are Requirements? Expression of desired behavior Deals with objects or entities, the states they can be.
Chapter 1- Introduction Lecture 1. Topics covered  Professional software development  What is meant by software engineering.  Software engineering.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
P3 Business Analysis. 2 Section F: Project Management F1.The nature of projects F2. Building the Business Case F4. Planning,monitoring and controlling.
Computer Systems Architecture Edited by Original lecture by Ian Sunley Areas: Computer users Basic topics What is a computer?
Getting Ready for the NOCTI test April 30, Study checklist #1 Analyze Programming Problems and Flowchart Solutions Study Checklist.
 System Requirement Specification and System Planning.
Prof. Shrikant M. Harle.  The Project Life Cycle refers to a logical sequence of activities to accomplish the project’s goals or objectives.  Regardless.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini XVII. Verification and Validation.
Fundamentals of Information Systems, Sixth Edition
Fundamentals of Information Systems, Sixth Edition
System Programming and administration
Unified Modeling Language
System Design and Modeling
Introduction to Realtime Systems (& Embedded Systems)
Applied Software Implementation & Testing
Testing and Test-Driven Development CSC 4700 Software Engineering
Software testing and configuration : Embedded software testing
CHAPTER 10 METHODOLOGIES FOR CUSTOM SOFTWARE DEVELOPMENT
Applying Use Cases (Chapters 25,26)
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Presentation transcript:

1.1 Aims of testing Testing is a process centered around the goal of finding defects in a system. We are currently unable to produce defect-free systems. Testing is an essential element in system development – it helps to improve the quality of the system. Every test process contains activities for planning what is needed, specifying what should be tested, and executing those test cases.

There is also a universal rule that it is impossible to find all defects and that there is never enough time (or personnel or money) to test everything. Because some things are valid for every test process, a generic test approach can be defined providing the basic structured approach for organizing a wellcontrolled test process. This information, preferably written, is the basis for deciding what to test and whether the result is acceptable or not.

Figure 1.1 illustrates how the above elements interact with the test process. The test process defines the necessary activities and organizes them in a lifecycle. For complex activities, specific techniques are developed that aid in performing them.

1.2 What is an embedded system? “Embedded system” is one of those terms that do not really say what exactly it is about. All embedded systems have a common feature in that they interact with the real physical world, controlling some specific hardware.

1.2 shows a generic layout, which is applicable to virtually all embedded systems, pointing out the typical components of an embedded system.

An embedded system interacts with the real world, receiving signals through sensors and sending output signals to actors that somehow manipulate the environment. The environment of an embedded system, including the actors and sensors, is often referred to as the plant. The embedded software of the system is stored in any kind of non-volatile memory (NVM).

the processing unit can only process digital signals the environment possibly deals with analog signals

1.3 Approach to the testing of embedded systems there are also many similar problems, which have similar solutions, that are involved in any test approach. Some kind of basic test principles must apply to all embedded test projects – but somehow they must be differentiated with several specific measures to tackle the specific problems of testing particular systems.

The TEmb method

2.1 Overview planning the test project according a certain lifecycle, applying standardized techniques, dedicated test environments, organizing test teams, formal reporting, etc.

They are related to the four cornerstones of structured testing: lifecycle, infrastructure, techniques, organization. (referred to as “LITO” in Figure 2.1)

This basis test approach is not yet concrete enough and needs to be enhanced with details such as: which design techniques will be applied? which tools and other infrastructure components will be used and must, perhaps, be developed first? etc.

In the initial stages of the project, choices must be made of those specific measures that will be included in the test proach. In the TEmb method this is called “the mechanism for assembling the dedicated test approach.”

2.2 TEmb generic Lifecycle. This defines which activities have to be performed and in what order. It gives testers and managers the desired control over the process. Techniques. This helps with how to do things, by defining standardized ways to perform certain activities. Infrastructure. This defines what is needed in the test environment to make it possible to perform the planned activities. Organization. This defines the roles and required expertise of those who must perform the planned activities and the way they interact with the other disciplines.

Lifecycle In the lifecycle model, the principal test activities are divided into five phases (see Figure 2.3). In addition to the phases of planning & control, preparation, specification, and execution, a completion phase has been defined to round off the test process satisfactorily and to formally deliver the testware to the line organization for subsequent maintenance releases.

Techniques This cornerstone supports the test process by offering testers elaborate, proven,and universal working methods, as well as enabling the management (and auditors) to track the progress of the test process and evaluate the results. In principle, one or more techniques can be devised for every type of activity. New techniques are developed somewhere in the world almost every day. Whenever an activity exists which is likely to be repeated several times, the future test process would be supported by devising a specific echnique for that activity.

Infrastructure he infrastructure for testing includes all the facilities required for structured testing. It can be divided into facilities needed for executing the test (test nvironment), facilities that support efficient test execution (tools and test automation), and facilities for housing the staff (office environment).

Organization Organization is all about people and how they communicate. Testing is not a straightforward task that can be performed in isolation, unhindered by interferences from a demanding outside world. The involvement of many different disciplines, conflicting interests, unpredictability, shortage of expertise, and time constraints make the set-up and management of the test organization a difficult task.

2.3 Mechanism for assembling the dedicated test approach Chapter 2.1 explained the principle of using system characteristics to state what it is that makes the system special. It is important to note that the Temb method does not aim at achieving a scientifically accurate and complete taxonomy of embedded systems. Rather its purpose is entirely practical and purely from a tester’s perspective. It aims at assisting the test manager in answering the question “What makes this system special and what must be included in the test approach to tackle this?”

The following provides a useful initial set of system characteristics: safety critical systems technical-scientific algorithms autonomous systems unique system; “one-shot” development analog input and output (in general, mixed signals) hardware restrictions state-based behavior hard real-time behavior control systems extreme environmental conditions.