1 Phase Implementation. Janice Regan, 2008 2 Overview of Implementation phase Create Class Skeletons Define Implementation Plan (+ determine subphases)

Slides:



Advertisements
Similar presentations
Software Engineering COMP 201
Advertisements

Software Testing and Analysis. Ultimate goal for software testing Quality Assurance.
Verification and Validation
Ossi Taipale, Lappeenranta University of Technology
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 20 Slide 1 Critical systems development.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 1 Disciplined Software Engineering Lecture #7 Software Engineering.
Static Technique. Static Technique - Review  A way of testing software work products  Program code, requirement spec., design spec.  Test plan, test.
Software Quality Assurance Inspection by Ross Simmerman Software developers follow a method of software quality assurance and try to eliminate bugs prior.
Testing Without Executing the Code Pavlina Koleva Junior QA Engineer WinCore Telerik QA Academy Telerik QA Academy.
 Every stage from phase DESIGN in Software Development Process will have “design document” especially in analysis and design phases.  “Design document”
Software Engineering COMP 201
1 Software Testing and Quality Assurance Lecture 2 Software Verification & Validation.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Verification and Validation l Assuring that a software system meets a user's.
1 Software Testing and Quality Assurance Lecture 1 Software Verification & Validation.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Verification and Validation.
Chapter 24 - Quality Management 1Chapter 24 Quality management.
Verification and Validation
Approaches to ---Testing Software Some of us “hope” that our software works as opposed to “ensuring” that our software works? Why? Just foolish Lazy Believe.
1CMSC 345, Version 4/04 Verification and Validation Reference: Software Engineering, Ian Sommerville, 6th edition, Chapter 19.
Chapter 24 - Quality Management Lecture 1 1Chapter 24 Quality management.
Software Testing Verification and validation planning Software inspections Software Inspection vs. Testing Automated static analysis Cleanroom software.
Dr. Pedro Mejia Alvarez Software Testing Slide 1 Software Testing: Building Test Cases.
Verification and Validation Yonsei University 2 nd Semester, 2014 Sanghyun Park.
Testing. What is Testing? Definition: exercising a program under controlled conditions and verifying the results Purpose is to detect program defects.
Slide 6.1 CHAPTER 6 TESTING. Slide 6.2 Overview l Quality issues l Nonexecution-based testing l Execution-based testing l What should be tested? l Testing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Verification and Validation.
Dr. Tom WayCSC Code Reviews & Inspections CSC 4700 Software Engineering.
Verification and Validation Overview References: Shach, Object Oriented and Classical Software Engineering Pressman, Software Engineering: a Practitioner’s.
Fun, fun, fun. But first … the code review Preparation Process.
Software testing Main issues: There are a great many testing techniques Often, only the final code is tested.
Testing Methods Carl Smith National Certificate Year 2 – Unit 4.
Testing. 2 Overview Testing and debugging are important activities in software development. Techniques and tools are introduced. Material borrowed here.
Jump to first page (C) 1998, Arun Lakhotia 1 Quality Assurance: Reviews and Walkthroughs Arun Lakhotia University of Southwestern Louisiana Po Box
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Software Verification, Validation and Testing.
This chapter is extracted from Sommerville’s slides. Textbook chapter
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Chapter 19 Verification and Validation.
Anton Krbaťa Ján Budáč  Verification: "Are we building the product right ?„  Validation: "Are we building the right product ?"
CHAPTER 9: VERIFICATION AND VALIDATION 1. Objectives  To introduce software verification and validation and to discuss the distinction between them 
Chapter 12: Software Inspection Omar Meqdadi SE 3860 Lecture 12 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Chapter 8 Lecture 1 Software Testing. Program testing Testing is intended to show that a program does what it is intended to do and to discover program.
KUFA UNIVERSITY Department of Computer Science 06/12/2015.
Software Development Problem Analysis and Specification Design Implementation (Coding) Testing, Execution and Debugging Maintenance.
Software Engineering Lecture # 1.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Test Plan: Introduction o Primary focus: developer testing –Implementation phase –Release testing –Maintenance and enhancement o Secondary focus: formal.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
Winter 2007SEG2101 Chapter 121 Chapter 12 Verification and Validation.
1 Phase Testing. Janice Regan, For each group of units Overview of Implementation phase Create Class Skeletons Define Implementation Plan (+ determine.
CMSC 2021 Software Development. CMSC 2022 Software Development Life Cycle Five phases: –Analysis –Design –Implementation –Testing –Maintenance.
This chapter is extracted from Sommerville’s slides. Textbook chapter 22 1 Chapter 8 Validation and Verification 1.
Static and Integration Testing. Static Testing vs Dynamic Testing  To find defects  This testing includes verification process  without executing.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
1 Software Testing and Quality Assurance Motivation and Review of Software Verification & Validation (2)
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Verification and Validation l Assuring that a software system meets a user's.
Verification and Validation. Topics covered l Verification and validation planning l Program Testing l Software inspections.
Software Reviews Ashima Wadhwa.
Software Verification and Validation
CSC 480 Software Engineering
CS1101X Programming Methodology
Chapter 8 – Software Testing
Verification and Validation Overview
Verification and Validation
Verification and Validation
Lecture 09:Software Testing
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Software Verification and Validation
Software Verification and Validation
Software Verification and Validation
Chapter 7 Software Testing.
Presentation transcript:

1 Phase Implementation

Janice Regan, Overview of Implementation phase Create Class Skeletons Define Implementation Plan (+ determine subphases) Define Coding Standards For each unit Implement Methods in class/es Code review Unit test Create integration Test plan Create unit Test plans Release unit for integration Integration Testing System Testing Create system Test plan For each group of units

Janice Regan, Today  Class Skeleton  Internal Comments  Programming Style  Code Standards  Validation & Verification  Code reviews

Janice Regan, Overview of Implementation phase Create Class Skeletons Define Implementation Plan (+ determine subphases) Define Coding Standards For each unit Implement Methods in class/es Code review Unit test Create integration Test plan Create unit Test plans Release unit for integration Integration Testing System Testing Create system Test plan For each group of units

Janice Regan, Validation & Verification of Implementation Phase  Validation: trace functional requirements  Verification:  perform code review (code inspection)  test

Janice Regan, Verification  Verification Technique:  Static Verification  Analysis and check representations of software system i.e., diagrams, documents  Examples of static techniques walk-through and inspection For implementation phase -> code review (inspection) and formal program verification

Janice Regan, Verification  Dynamic Verification  Exercise representations of software system  Example of dynamic technique  For implementation phase -> test the code  It is cheaper to find and fix errors using inspection (static verification) than using testing (dynamic verification)

Janice Regan, Formal Program Verification  Pre condition :  Condition(s) that must be met (be true) prior to invocation of an operation  Establish the range of the input parameters over which the method should behave  Post condition :

Janice Regan, Formal Program Verification  Pre condition :  Post condition :  Condition(s) that must be met (be true) after the execution of an operation  Could include side effects of method as part of Post condition

Janice Regan, Code Review  Verification technique  Goal: Inspect code before it is tested  Looking for errors, emphasizing on error detection not correction  Although corrections may be suggested, they are left to author of code  Formal (i.e., scheduled)  Small group of software developers  Moderated by author of the code under review or by group lead

Janice Regan, Code Review  Advantages:  Why not only compile and run the code?  Finds syntax and runtime errors, can miss logic errors  Decrease number of errors, → decrease testing time  Because we are poor at seeing problems in our own work (too close to it), having new (several) eyes increase error detection

Janice Regan, Code Review  Advantages:  Promote “quality culture” in company  Use of code standards to produce consistent product  Scheduled opportunities to formally pass on skills, experience, and corporate culture to newer employees  Mechanism for feedback, sharing of knowledge and experience

Janice Regan, Code Review  Disadvantages:  Can be seen as time-consuming activity  Reviewing code well takes time for each reviewer  Keep the number of reviewers low (usually 2-4), the code review load on each member should be minimized.

Janice Regan, Code Review  Disadvantages:  Hard on the ego  Be open to constructive suggestions of corrections and improvements  You don’t have to take all suggestions, you should usually take most suggestions.  If you have good reason not to implement a suggestion explain why in the review, the person making the suggestion may agree with you!!

Janice Regan, About Ego  Because software design and implementation involves creativity, it is difficult for a software developer not to be “attached” to her/his “creation” and be objective about it  The point of code reviews is to highlight errors and point out improvements not to criticize software developers. Therefore, you must keep process positive  W hen pointing out errors, be careful how you phrase your comments  D o not take comments personally

Janice Regan, About Ego  To alleviate such situation, some companies promote “egoless programming” where software developers are encouraged to think of the design and the code as belonging to the team as opposed to the individual  Pair-programming