LECTURE 20 26/11/15. Summary - Testing ◦ Testing affects all stages of software engineering cycle ◦ One strategy is a bottom-up approach – class, integration,

Slides:



Advertisements
Similar presentations
Object Oriented Analysis And Design-IT0207 iiI Semester
Advertisements

Building Bug-Free O-O Software: An Introduction to Design By Contract A presentation about Design By Contract and the Eiffel software development tool.
Defect testing Objectives
Lecture 8: Testing, Verification and Validation
SOFTWARE TESTING. Software Testing Principles Types of software tests Test planning Test Development Test Execution and Reporting Test tools and Methods.
P5, M1, D1.
Chapter 4 Quality Assurance in Context
1 Software Engineering Lecture 11 Software Testing.
Chapter 1 The Systems Development Environment
© Prentice Hall CHAPTER 9 Application Development by Information Systems Professionals.
Chapter 1 The Systems Development Environment
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 15 Finalizing.
Fundamentals of Information Systems, Second Edition
Software Engineering Principles and C++ Classes
System Analysis and Design
Software Testing Prasad G.
Senior Design – Acceptance Test Plan Review The goal is to: define the criteria for approving the application. Tightly coupled to the Requirements document.
BY RAJESWARI S SOFTWARE TESTING. INTRODUCTION Software testing is the process of testing the software product. Effective software testing will contribute.
Programinės Įrangos Testavimo Strategijos
Software Quality Assurance Lecture #8 By: Faraz Ahmed.
Information Systems in Organisations System Development: The Environment.
Chapter 1: The Object-Oriented Systems Development Environment Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,
Chapter 1: Introduction to Systems Analysis and Design
Lecture #9 Project Quality Management Quality Processes- Quality Assurance and Quality Control Ghazala Amin.
Software testing basic. Main contents  Why is testing necessary?  What is testing?  Test Design techniques  Test level  Test type  How to write.
14-1 © Prentice Hall, 2004 Chapter 14: OOSAD Implementation and Operation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Teaching material for a course in Software Project Management & Software Engineering – part II.
1 Software testing. 2 Testing Objectives Testing is a process of executing a program with the intent of finding an error. A good test case is in that.
Chapter 1 Object-Oriented Analysis and Design. Disclaimer Slides come from a variety of sources: –Craig Larman-developed slides; author of this classic.
Dr. Tom WayCSC Testing and Test-Driven Development CSC 4700 Software Engineering Based on Sommerville slides.
Chapter 7 Software Engineering Introduction to CS 1 st Semester, 2015 Sanghyun Park.
Software Testing Reference: Software Engineering, Ian Sommerville, 6 th edition, Chapter 20.
Data Structures Using C++1 Chapter 1 Software Engineering Principles and C++ Classes.
© 2005 by Prentice Hall Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
LECTURE 19 23/11/15 Software Quality and Testing.
Testing OO software. State Based Testing State machine: implementation-independent specification (model) of the dynamic behaviour of the system State:
Software Engineering and Object-Oriented Design Topics: Solutions Modules Key Programming Issues Development Methods Object-Oriented Principles.
Software Engineering Lecture # 1.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
SOFTWARE ENGINEERING. Objectives Have a basic understanding of the origins of Software development, in particular the problems faced in the Software Crisis.
1 Software Testing Strategies: Approaches, Issues, Testing Tools.
Chapter 1 Software Engineering Principles. Problem analysis Requirements elicitation Software specification High- and low-level design Implementation.
PROGRAMMING TESTING B MODULE 2: SOFTWARE SYSTEMS 22 NOVEMBER 2013.
OOAD UNIT V B RAVINDER REDDY PROFESSOR DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING.
1 SYS366 Week 1 - Lecture 1 Introduction to Systems.
Software Testing Reference: Software Engineering, Ian Sommerville, 6 th edition, Chapter 20.
Software Test Plan Why do you need a test plan? –Provides a road map –Provides a feasibility check of: Resources/Cost Schedule Goal What is a test plan?
Systems Development Life Cycle
Introduction to Software Testing Maili Markvardt.
Testing Integral part of the software development process.
 System Requirement Specification and System Planning.
Information Systems Development
Lecture 7 After competition of this lecture students will have knowledge of the following: Design Interface Objects Micro Level Processes Macro Level.
Software Testing Strategies for building test group
Software Testing.
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Software Engineering (CSI 321)
Chapter 1: Introduction to Systems Analysis and Design
Fundamentals of Information Systems, Sixth Edition
Chapter 18 Maintaining Information Systems
Quality Management Perfectqaservices.
Introduction to Software Testing
Introducing ISTQB Agile Foundation Extending the ISTQB Program’s Support Further Presented by Rex Black, CTAL Copyright © 2014 ASTQB 1.
Baisc Of Software Testing
Chapter 1: Introduction to Systems Analysis and Design
OBJECTIVE QUALITY ASSURANCE TESTS TESTING STRATEGIES
Chapter 1: Introduction to Systems Analysis and Design
Presentation transcript:

LECTURE 20 26/11/15

Summary - Testing ◦ Testing affects all stages of software engineering cycle ◦ One strategy is a bottom-up approach – class, integration, validation and system level testing ◦ XP advocates test-driven development: plan tests before you write any code, then test any changes ◦ Other techniques: ◦ white box (look into technical internal details) ◦ black box (view the external behaviour) ◦ debugging (systematic cause elimination approach is best)

Summary - Testing ◦ Testing is a balance of art, science, and luck ◦ Testing may be conducted for different reasons ◦ Quality assurance testing looks for potential problems in a proposed design ◦ Develop a test plan for locating and removing bugs ◦ A test plan offers a road map for testing activity; it should state test objectives and how to meet them ◦ The plan need not be very large; in fact, devoting too much time to the plan can be counterproductive ◦ There are no magic tricks to debugging; however, by selecting appropriate testing strategies and a sound test plan, you can locate the errors in your system and fix them by utilizing debugging tools

Software Testing and QA ◦ So each time we reuse it, we further test all its methods, uncovering some old errors ◦ So each reuse will then benefit earlier programs that used this class ◦ The stability and trustworthiness of the class are progressively improved ◦ Better traceability from Analysis to Design to Coding: corrections to the requirements or design point us directly to the affected code, and vice-versa

Software Quality ◦ In general, quality means customer satisfaction ◦ So it must satisfy the users’ actual requirements ◦ For software it is often interpreted as ability to conform to requirements ◦ Executing without failure ◦ Most software fails in its first production run ◦ Mission-critical software applications require extremely high levels of quality

Verification ◦ Verification ◦ Meeting functional and non-functional requirements without failure ◦ Use cases ◦ Robustness, speed, scalability, etc. ◦ Testing – identifying logical errors ◦ Debugging – finding the root cause of errors ◦ Validation (or usability and user satisfaction) - relates to ◦ functionality coverage – priorities being met ◦ ease of use ◦ perception of the user ◦ Slide 7

Errors and Debugging Error Types ◦ Logic errors ◦ Language errors or syntax errors ◦ Run-time errors Debugging ◦ The first step in debugging is recognising that a bug exists ◦ Sometimes it's obvious, the first time you run the application, it shows itself ◦ Other bugs might not surface until a method receives a certain value, or until you take a closer look at the output ◦ Selecting appropriate testing strategies ◦ Developing test cases and sound test plan ◦ Debugging tools

Some Answers The user Id field accepts special characters. Confirm password field does not show content in encrypted mode. The name field does not seem to have any validation for number of characters. Captcha is not at all readable. There is no way user can reload the captcha. Register button should be at bottom rather than on side. Register button’s label has “r” instead of “R”. There is no cancel button available if user wants to cancel the procedure.. There is no close button available if user wants to close the page. The page title show wrong spelling of Registration. Password selection guideline should be provided like the password should be alpha numeric or password strength factor should be present. Page title should be New User Registration rather than New Registration. Field length and labels should be same for the whole page / form. The country field should by default show “Select” rather than selecting a value default.

IS2204 Module Overview Is the IS development project feasible? What should/does the system do? How should the system be designed to serve the needs of the user (s)? Does the system measure up? Are the users satisfied? Does the system do what it is supposed to do? How do we gather the requirements to inform system design? What are the alternative approaches to Information System development? How do we manage an IS development project efficiently and effectively?

Summary ◦ Several features of object-oriented languages and programs impact testing from encapsulation and state-dependent structure to generics and exceptions but only at unit and subsystem levels and fundamental principles are still applicable Basic approach apply Techniques for each major issue (e.g., exception handling, generics, inheritance,...) can be applied incrementally and independently

IS2204 Summary ◦ Alternatives to Systems Building Approaches ◦ SDLC ◦ Agile, XP and Scrum ◦ Requirements Gathering /Fact Finding ◦ Role of the Systems Analyst ◦ Cross Lifecycle Activities ◦ Feasibility Analysis ◦ Project Management ◦ The characteristics of a Project Manager ◦ Project Failure ◦ Risk Analysis ◦ FoxMeyer Case Study ◦ Introduction to UML – Use Case Diagrams ◦ Interface Layer in OO and GUI design process ◦ Software Quality Assurance ◦ Verification ◦ Validation ◦ Software Testing Types of Testing ◦ Approaches to software testing

Resources ◦ Object Oriented Systems Analysis and Design (Ashrafi and Ashrafi) Chapter 4, 6,7 ◦ User interface design Chapter 10,11,12 ◦ Essentials of systems analysis and design / Joseph S. Valacich ; Joey F. George ; Jeffrey A. Hoffer. ◦ Chapter 5 – Determine Systems Requirements ◦ Appendix A – OOA and D