Exam 1 review CS 360 Lecture 20.

Slides:



Advertisements
Similar presentations
CMP206 – Introduction to Data Communication & Networks Lecture 1 - Networking Fundamentals.
Advertisements

Software Engineering-II Sir zubair sajid. What’s the difference? Verification – Are you building the product right? – Software must conform to its specification.
Creator: ACSession No: 13 Slide No: 1Reviewer: SS CSE300Advanced Software EngineeringFebruary 2006 Testing - Techniques CSE300 Advanced Software Engineering.
SE 450 Software Processes & Product Metrics Reliability: An Introduction.
SE curriculum in CC2001 made by IEEE and ACM: Overview and Ideas for Our Work Katerina Zdravkova Institute of Informatics
What is software engineering?
Testing Team exercise Have each team member contribute answers: –Do you test your code? If no, why not? If yes: When? How? How often? –What is your team’s.
1 Software Testing and Quality Assurance Lecture 1 Software Verification & Validation.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Verification and Validation CIS 376 Bruce R. Maxim UM-Dearborn.
BY RAJESWARI S SOFTWARE TESTING. INTRODUCTION Software testing is the process of testing the software product. Effective software testing will contribute.
Chapter 13 & 14 Software Testing Strategies and Techniques
Data Structures and Programming.  John Edgar2.
Computer System Lifecycle Chapter 1. Introduction Computer System users, administrators, and designers are all interested in performance evaluation. Whether.
University of Toronto Department of Computer Science © 2001, Steve Easterbrook CSC444 Lec22 1 Lecture 22: Software Measurement Basics of software measurement.
Software Testing Verification and validation planning Software inspections Software Inspection vs. Testing Automated static analysis Cleanroom software.
System/Software Testing
CS 501: Software Engineering Fall 1999 Lecture 16 Verification and Validation.
CMSC 345 Fall 2000 Unit Testing. The testing process.
What is software? Software is a set of items or objects that form a configuration that includes: –Programs –Documents –Data.
Software testing basic. Main contents  Why is testing necessary?  What is testing?  Test Design techniques  Test level  Test type  How to write.
Instructor: Peter Clarke
Software Engineering General architecture. Architectural components:  Program organisation overview Major building blocks in a system Definition of each.
 CS 5380 Software Engineering Chapter 8 Testing.
Software Testing Testing types Testing strategy Testing principles.
Software Testing The process of operating a system or component under specified conditions, observing and recording the results, and making an evaluation.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 23 Reliability III.
Introduction to Software Testing. Types of Software Testing Unit Testing Strategies – Equivalence Class Testing – Boundary Value Testing – Output Testing.
©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
Chapter 1 Quality terminology Error: human mistake Fault: result of mistake, evidenced in some development or maintenance product Failure: departure from.
CS CS 5150 Software Engineering Lecture 20 Reliability 2.
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.
UNIT-1 SOFTWARE PRODUCT AND PROCESS: Introduction – S/W Engineering paradigm – Verification – Validation – Life cycle models – System engineering –
CS 360 Lecture 18.  Acceptance testing  The complete system, including documentation, training materials, installation scripts, etc. is tested against.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
ISBN Prentice-Hall, 2006 Chapter 8 Testing the Programs Copyright 2006 Pearson/Prentice Hall. All rights reserved.
CS451 Lecture 10: Software Testing Yugi Lee STB #555 (816)
SOFTWARE ENGINEERING MCS-2 LECTURE # 2. ATTRIBUTES OF GOOD S/W  Maintainability;  S/w should be written in such a way that it may evolve to meet the.
Chapter 1 Software Engineering Principles. Problem analysis Requirements elicitation Software specification High- and low-level design Implementation.
Lecture 1: Introduction – Graduation Projects Topics to Discuss in Lectures 1. Project Deliverables 2. Course grading 3. Project Concept Writing.
CS223: Software Engineering Lecture 32: Software Maintenance.
Software Testing By Souvik Roy. What is Software Testing? Executing software in a simulated or real environment, using inputs selected somehow.
EXERCISE DDC 3223-SOFTWARE ENGINEERING. CHAPTER 1: INTRO.TO SOFTWARE ENG 1.Briefly explain the terms below: a)Software b)Software engineering c)Software.
Final Exam Study Guide COP 4331 and EEL4884 OO Processes for Software Development © Dr. David A. Workman School of EE and Computer Science University of.
Software Testing CS 560. Software testing strategies A strategic approach to testing  Functionality meets the requirements that guided its design. 
CX Introduction to Web Programming Testing.
Software Testing Strategies for building test group
Exam 0 review CS 360 Lecture 8.
IS301 – Software Engineering V:
Chapter 8 – Software Testing
Lecture 15: Technical Metrics
IOS110 Final Review.
Exam 1 Study Guide Cs 595 Lecture 17.
Verification & Validation
Chapter 18 Software Testing Strategies
Chapter 13 & 14 Software Testing Strategies and Techniques
Mid-term Exam Account for 20% of the grade 100 points in total
System Architecture CS 560 Lecture 8.
Software testing strategies 2
Verification and Validation Unit Testing
Starting Design: Logical Architecture and UML Package Diagrams
IMPORTANT NOTICE TO STUDENTS:
Baisc Of 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.
CS5103 Software Engineering
Design Yaodong Bi.
© Oxford University Press All rights reserved.
Design.
Chapter 13 & 14 Software Testing Strategies and Techniques 1 Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
Presentation transcript:

Exam 1 review CS 360 Lecture 20

System Architecture System Models Subsystems/Components Packages Nodes Replaceable Classes Packages Nodes Component Diagrams Deployment Diagrams Architectural Styles

Security issues in software engineering Software development security issues Security threat models Security Architecture Designing with security in mind Security components and techniques Programming secure software Most dangerous errors

Legacy Systems Software component reuse Designing software systems for change Modular/replaceable components Designing software systems for reuse Legacy code Generating requirements, documentation, models, etc. Modifying Testing Dependencies

Software System Performance 1 When and how performance matters in computer systems High performance computing HPC vs HTC Performance challenges for software systems Bottlenecks Timescales of components Utilization of different components Predicting system performance Simulations Direct measurement Fixing poor performance Software performance requirements documentation

Software System Performance 2 Analyzing system performance Performance engineering motivation Performance metrics Performance engineering documentation Requirements Functional specifications Design specifications

Usability and user interface 1 Importance and development of user interfaces Mock up, wire frames, focus groups Usability requirements Accessibility Equipment Mental models Interface functionality UI design GUI Command line Help systems

Usability and user interface 2 Four computing eras HCI architectures Unimodal Multimodal Usability goals Usability design Users with disabilities Elderly users children

Software Reliability Reliability terminology Failure, fault, error, fault avoidance/detection/tolerance Software vs. hardware reliability Software reliability modeling Software reliability metrics

Software testing 1 Testing strategies Levels of testing General characteristics Verification and validation Levels of testing Unit testing Interface, data structurers, boundaries, basis paths, error handling Integration testing Non-incremental, incremental Validation testing Based on requirements System testing Regression testing Smoke testing Error discovery and handling debugging

Software testing 2 Static verification testing Program inspections Data, control, I/O, interface, storage, exceptions Dynamic verification testing Interface Parameters, shared memory, message passing protocols Unit testing: Basis paths Flow graphs, cyclomatic complexity, basis set, test cases Integration testing Performance/stress testing Acceptance testing

Acceptance testing Acceptance Criteria Acceptance Testing Approach Iterative/Incremental/Sequential Acceptance Test Reports/Documentation Delivery of Software

Exam 1 Exam: five questions, one to omit, graded out of four. Each question equally weighted (25% each) Detailed answers must be legible (marked incorrect if I can’t read your answer) Answer quality/detail will determine your score for each question Possible multiple section questions; a, b, c, .. One hour to complete the exam in class (11:30am – 12:30pm, 1:50pm – 2:50pm) Content on exam 0: Lecture 8 – 18: Chapters 6, 8, 9, 11, 13 Supplemental Reading: Computer Security in the Real World through Seven Principles of Software Testing Suggested Reading: Your group’s project documentation