Kai H. Chang COMP 6710 Course NotesSlide ES- 1 Auburn University Computer Science and Software Engineering Course Notes : Examining the Specification Computer.

Slides:



Advertisements
Similar presentations
Testing and Inspecting to Ensure High Quality
Advertisements

3. Technical Documentation
Testing Relational Database
Chapter 14 Software Testing Techniques - Testing fundamentals - White-box testing - Black-box testing - Object-oriented testing methods (Source: Pressman,
Software Testing Technique. Introduction Software Testing is the process of executing a program or system with the intent of finding errors. It involves.
Lecture 5: Requirements Engineering
Kai H. Chang COMP 6710 Course NotesSlide CMMI-1 Auburn University Computer Science and Software Engineering Capability Maturity Model Integration - CMMI.
Testing and Quality Assurance
The Secrets of Practical Verification… © 2008 Think Verification.
Damian Gordon.  Static Testing is the testing of a component or system at a specification or implementation level without execution of the software.
Software Engineering 1. Software development – the grand view 2. Requirements engineering.
ACTIVELY ENGAGING THE STAKEHOLDER IN DEFINING REQUIREMENTS FOR THE BUSINESS, THE STAKEHOLDER, SOLUTION OR TRANSITION Requirements Elicitation.
1 Static Testing: defect prevention SIM objectives Able to list various type of structured group examinations (manual checking) Able to statically.
©N. Hari Narayanan Computer Science & Software Engineering Auburn University 1 COMP 7620 Evaluation Chapter 9.
Ch. 1: Software Development (Read) 5 Phases of Software Life Cycle: Problem Analysis and Specification Design Implementation (Coding) Testing, Execution.
RIT Software Engineering
SE 450 Software Processes & Product Metrics 1 Defect Removal.
Software Engineering CSE470: Requirements Analysis 1 Requirements Analysis Defining the WHAT.
1 Lecture 5 Introduction to Software Engineering Overview  What is Software Engineering  Software Engineering Issues  Waterfall Model  Waterfall Model.
This work is licensed under a Creative Commons Attribution 3.0 Unported LicenseCreative Commons Attribution 3.0 Unported License (CC-BY). Project Management.
Examining the Software Specification [Reading assignment: Chapter 4, pp ]
Comp 245 Data Structures Software Engineering. What is Software Engineering? Most students obtain the problem and immediately start coding the solution.
1 BTEC HNC Systems Support Castle College 2007/8 Systems Analysis Lecture 9 Introduction to Design.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Chapter 12 Object-Oriented.
Topics Covered: Software requirement specification(SRS) Software requirement specification(SRS) Authors of SRS Authors of SRS Need of SRS Need of SRS.
Requirements Engineering How do we keep straight what we are supposed to be building?
© Colin Potts C1-1 Requirements Documentation Colin Potts Georgia Tech.
Requirements Engineering Requirements Elicitation Process Lecture-8.
System Development Life Cycle. The Cycle When creating software, hardware, or any kind of product you will go through several stages, we define these.
Testing E001 Access to Computing: Programming. 2 Introduction This presentation is designed to show you the importance of testing, and how it is used.
Software Engineering EKT 420 MOHAMED ELSHAIKH KKF 8A – room 4.
Introduction Algorithms and Conventions The design and analysis of algorithms is the core subject matter of Computer Science. Given a problem, we want.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 4: Developing Requirements.
Testing Methods Carl Smith National Certificate Year 2 – Unit 4.
Lecture 7: Requirements Engineering
System Analysis (Part 3) System Control and Review System Maintenance.
Intermediate 2 Software Development Process. Software You should already know that any computer system is made up of hardware and software. The term hardware.
Introduction to Software Engineering. Why SE? Software crisis manifested itself in several ways [1]: ◦ Project running over-time. ◦ Project running over-budget.
Chapter 10 Software Engineering. Understand the software life cycle. Describe the development process models. Understand the concept of modularity in.
Lesson 1 Operating Systems, Part 1. Objectives Describe and list different operating systems Understand file extensions Manage files and folders.
C o n f i d e n t i a l 1 Course: BCA Semester: III Subject Code : BC 0042 Subject Name: Operating Systems Unit number : 1 Unit Title: Overview of Operating.
1 Ch. 1: Software Development (Read) 5 Phases of Software Life Cycle: Problem Analysis and Specification Design Implementation (Coding) Testing, Execution.
Building Simulation Model In this lecture, we are interested in whether a simulation model is accurate representation of the real system. We are interested.
1 Quality Attributes of Requirements Documents Lecture # 25.
Software Development Problem Analysis and Specification Design Implementation (Coding) Testing, Execution and Debugging Maintenance.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Software Testing and Quality Assurance 1. What is the objectives of Software Testing?
Software Engineering Issues Software Engineering Concepts System Specifications Procedural Design Object-Oriented Design System Testing.
 Software Testing Software Testing  Characteristics of Testable Software Characteristics of Testable Software  A Testing Life Cycle A Testing Life.
Hall, Accounting Information Systems, 8e ©2013 Cengage Learning. All Rights Reserved. May not be scanned, copied or duplicated, or posted to a publicly.
Observing the Current System Benefits Can see how the system actually works in practice Can ask people to explain what they are doing – to gain a clear.
Chapter 1 Software Development Dr. Bernard Chen Ph.D. University of Central Arkansas Fall 2008.
Requirements. Outline Definition Requirements Process Requirements Documentation Next Steps 1.
Dillon: CSE470: ANALYSIS1 Requirements l Specify functionality »model objects and resources »model behavior l Specify data interfaces »type, quantity,
1 Software Testing. 2 What is Software Testing ? Testing is a verification and validation activity that is performed by executing program code.
 System Requirement Specification and System Planning.
Modelling and Solving Configuration Problems on Business
Software Testing.
Scope Planning.
Software Engineering (CSI 321)
TQS - Teste e Qualidade de Software (Software Testing and Quality) Introduction To Software Testing Concepts João Pascoal.
Quality Management Perfectqaservices.
The life cycle.
مقدمه اي بر مهندسي نيازمنديها
Introduction to Software Testing
Chapter 13: Systems Analysis and Design
Examining the Specification
Software Requirements Specification (SRS) Template.
Software Reviews.
Dr. Clincy Professor of CS
Presentation transcript:

Kai H. Chang COMP 6710 Course NotesSlide ES- 1 Auburn University Computer Science and Software Engineering Course Notes : Examining the Specification Computer Science and Software Engineering Auburn University

Kai H. Chang COMP 6710 Course NotesSlide ES- 2 Auburn University Computer Science and Software Engineering Specification Requirements document – what the software will become Can be of many formats and detail levels - programming project/problem assignments - quality measurement is based on this Specification is testable; can be used to find bugs before software is developed [Software Testing, by Ron Patton, Sams Pub. 2001]

Kai H. Chang COMP 6710 Course NotesSlide ES- 3 Auburn University Computer Science and Software Engineering Testing Fundamentals Black box testing – what is supposed to be done  functionality - does not concern how the software accomplish the work - outside view of the software - input-output relationships

Kai H. Chang COMP 6710 Course NotesSlide ES- 4 Auburn University Computer Science and Software Engineering Testing Fundamentals (cont’) White (clear) box testing – how the software does its job - look into code details Static Testing – testing a software without running it - examination - review

Kai H. Chang COMP 6710 Course NotesSlide ES- 5 Auburn University Computer Science and Software Engineering Testing Fundamentals (cont’) Dynamic Testing – running the program Testing specification - static black box testing - specification is not a program  static - goal: to find bugs early

Kai H. Chang COMP 6710 Course NotesSlide ES- 6 Auburn University Computer Science and Software Engineering High Level Review of Specification First Step: Stand back and view it from high level Better understanding of the Spec – why and how

Kai H. Chang COMP 6710 Course NotesSlide ES- 7 Auburn University Computer Science and Software Engineering High Level Review of Specification (Cont’) Pretend to be the customer - find out who they are, e.g. research & interview - gain familiarity of the application field - customer expectations, quality is measured in terms of these expectations - try to understand the spec

Kai H. Chang COMP 6710 Course NotesSlide ES- 8 Auburn University Computer Science and Software Engineering High Level Review of Specification (Cont’) Research existing standards and guidelines - why standards and guidelines?. terminology and conventions. Industrial/government requirements. Hardware/software interfaces - make sure correct standards & guidelines are used or applied

Kai H. Chang COMP 6710 Course NotesSlide ES- 9 Auburn University Computer Science and Software Engineering High Level Review of Specification (Cont’) Review and test similar software - similar systems of feel and look  efficiency - competitors’ products - issues to review. Scale: bigger, smaller, similar, etc.. Complexity. Testability: can you test such software. Quality/reliability - use the software

Kai H. Chang COMP 6710 Course NotesSlide ES- 10 Auburn University Computer Science and Software Engineering Low Level Specification Test Specification Attribute Checklist - A good, well-thought-out specification:. Complete. Accurate. Precise, unambiguous, and clear. Consistent. Relevant. Feasible. Code-free: what, but not how. Testable

Kai H. Chang COMP 6710 Course NotesSlide ES- 11 Auburn University Computer Science and Software Engineering Low Level Specification Test (Cont’) Specification terminology checklist - avoid problem words. Always, every, all, none, never: absolute. Certainly, therefore, clearly, obviously, …. Sometimes, often, usually, …. Etc., and-so-on, and-so-forth: no way to test. Good, fast, cheap, efficient, … : not quantified. Handled, processed, rejected: task not clear. If … then … (forget else)

Kai H. Chang COMP 6710 Course NotesSlide ES- 12 Auburn University Computer Science and Software Engineering Is Specification Testable? Yes! Sample usage scenarios - For example, the user will … - All aspects of the scenarios must be covered.

Kai H. Chang COMP 6710 Course NotesSlide ES- 13 Auburn University Computer Science and Software Engineering Examining Specification Summary Subjective process - not a step by step process Higher level review - to flush out oversights and omissions Low level techniques - to assure all details are defined