Software Testing 2. OOD and Testability. White box vs Black box Testing. Software Testing 2 Semester 1, 2006
|
|
- Gwenda Carson
- 5 years ago
- Views:
Transcription
1 Software Testing 2 Jens Dietrich OOD and Testability Component based design and component based unit testing. Design that isolates component that are difficult to test (automatically) (such as user interfaces). Replace objects by dummies in test environments. Document software. Stable component APIs. Component interface that reveals the state of the component (this can contradict encapsulation and other design goals). Be careful to use state-changing method to read the state of a component (like lazy initialisation). Postgraduate Certificate in Professional Development Slide 2 White box vs Black box Testing White box testing control structure is used to derive test cases. Black box testing test cases based on functional requirements, use public interfaces of the software. Black box tests tend to be less "complete" than white box tests. Black box tests are very often the only tests possible if 3rd party components have to be tested. This becomes more and more important as it is usually cheaper to buy software and not to make it. However, testing is very often necessary for components bought off the shelf. (e.g. when assessing or integrating them). Postgraduate Certificate in Professional Development Slide 3 Postgraduate Certificate in Professional Development 1
2 Basis Path Testing White box testing technique. Goal: each statement is executed at least once. Consider all paths of program execution. For this purpose it is useful to represent a program as graph. Nodes are blocks of code, directed edges are invocations of other code blocks and represent flow of control. Nodes with two exiting rows contain conditional statements. The graph contains initial and terminal nodes. A path is a sequence of nodes connecting initial and terminal nodes, an independent path is a path introducing at least one new node. Coverage tools (such as Clover and JCoverage) can be used to make sure that test cases cover all execution paths. Postgraduate Certificate in Professional Development Slide 4 Basis Path Testing (ctd) The number of independent paths can be used to measure the complexity of a program. It is called cyclomatic complexity and can be computed as follows: V(G) = Edges Nodes + 2. Cyclomatic complexity is an upper bound for a base set of path, I.e. a set of path that includes each node. If each path is translated into a test case, each statement will be tested at least once. Postgraduate Certificate in Professional Development Slide 5 Boundary Value Testing A relatively high number of errors occurs at the boundaries of the input domain (e.g. when using min and max value permitted). This is often caused by the fact that boundaries represent extreme situations, and that software is designed and implemented by people who ignore that these situations are realistic. Postgraduate Certificate in Professional Development Slide 6 Postgraduate Certificate in Professional Development 2
3 Error Handling Testing Modern software can usually handle errors and can avoid total failure (system crashes) if errors occur. This is a design goal called fault tolerance. There are different error handling strategies: crash dumps user messages, logging of error events, retry, etc. Error handling has to be tested as well. Postgraduate Certificate in Professional Development Slide 7 Organisational Aspects Software projects should have a test strategy which encompasses the following aspects: Plan testing. Design test cases. Run tests. Reporting test results. Postgraduate Certificate in Professional Development Slide 8 Organisational Aspects (ctd) Part of the test strategy is answering the following questions: Who does the testing (programmers, independent test teams)? How often is testing done? E.g., when the software is build, before it is deployed, at each milestone. Is testing done bottom-up or top-down? (starting with the components (parts) or starting with the entire system?). What is the procedure to follow if defects are detected? Postgraduate Certificate in Professional Development Slide 9 Postgraduate Certificate in Professional Development 3
4 Verification vs Validation Testing is done to verify and to validate software. Verification the software implements a certain function correctly. Validation software implements the requirements. Postgraduate Certificate in Professional Development Slide 10 Test Directions bottom-up testing top-down testing Tested: Component aggregation buy component make component buy component make component integration tests unit tests whitebox blackbox requirements design implementation bottom-up testing Postgraduate Certificate in Professional Development Slide 11 Regression Testing Tests must be repeated continuously. Any change (modifying components, adding new components, removing components) brings the software into an untested ( dirty ) status, and tests must be repeated. Recommended: automated testing. Tools: unit testing frameworks or capture / playback tools (in particular useful for user interface testing. Postgraduate Certificate in Professional Development Slide 12 Postgraduate Certificate in Professional Development 4
5 Documenting Test Results Test results must be documented. E.g., these documents can be used for project planning and controlling. Test reports should contain information about the test cases which succeeded and failed, the reasons for failure, and performance data. Some test tools such as JUnit generate test reports automatically. Postgraduate Certificate in Professional Development Slide 13 Validation Testing Validation / acceptance testing test whether software implements the requirements. Usually performed by end user. High level integration test (end user often not aware of the component structure). Very often non-automated (although record/playback tools could be used), test protocols should be written. Postgraduate Certificate in Professional Development Slide 14 System Testing Testing non-functional requirements, including: Security testing (e.g., test cases to make sure that only users can login, or that only certain ports or protocols are available). Recovery testing (whether software can recover into a consistent state). Stress testing (testing software with extreme data volumes and transaction rates in particularly important for server applications). Performance testing (testing the runtime performance of the software). Compatibility testing (e.g., test with different versions / products of interfacing software components, e.g., web browsers or databases). Postgraduate Certificate in Professional Development Slide 15 Postgraduate Certificate in Professional Development 5
6 Terminating Testing There is never enough testing, but time and money is limited. Formal metrics: test coverage. If test coverage is sufficient, and all test cases succeed, testing ends. Example: clover test coverage tool (commercial, free licenses for academic and open source applications), JCoverage (free GPL version). Postgraduate Certificate in Professional Development Slide 16 Example Test Coverage Metrics Postgraduate Certificate in Professional Development Slide 17 Measuring Software Quality Metrics can be used to measure (quantify) characteristics of SDLC processes and artifacts (models, software, documents). Example: design model complexity (e.g., function points), code size (e.g., KLOCs). This includes characteristics related to quality. Several metrics are related to several steps in the SDLC (analysis, design, implementation). Postgraduate Certificate in Professional Development Slide 18 Postgraduate Certificate in Professional Development 6
7 Measuring Software Quality (ctd) Some metrics can be calculated based on empirical data. E.g. MTBF (mean time between failures). Other metrics (coupling) can be calculated before deployment by analyzing design models and source code. Test coverage metrics can measure the quality of tests. Metrics are an active field of research, an example on coupling is presented here. Postgraduate Certificate in Professional Development Slide 19 Measuring Software Design Complexity Idea: measure the dependencies between modules. What is a module? Integrated set of software components addressing a set of requirements. Sometimes, module and component are used as synonyms, sometimes a module refers to a more complex structure consisting of many components or sub-modules. Not clear what a module is for an OO language such as Java. E.g., a module could be a package or a class. Sometimes, a package represents several modules (e.g., if we call the date related classes such as Data, Calendar and Gregorian Calendar a module, and the java collection library another module, the java.util package contains at least 2 modules. If we consider the AWT as a module, then this module contains at least 2 packages (java.awt and java.awt.event). Postgraduate Certificate in Professional Development Slide 20 Dependencies between Classes and Packages Dependency between classes: class A depends on class B if B is referenced in A. This may include: B is the type of a variable of A, B is return type, parameter type of exception type of a method (in A), B is referenced within the code (e.g., method, static initializer, variable initialization block or constructor) of B, A is superclass or interface subclasses. These dependencies can be verified by the compiler (at least if the language supports strong typing [like Java, C++, C#, unlike Smalltalk]). Or "soft references" using reflection (like Java's Class.forName, invoke, Smalltalk perform ) cannot be verified by compiler. Package A depends on package B if at least one class in A depends on one class in B. Postgraduate Certificate in Professional Development Slide 21 Postgraduate Certificate in Professional Development 7
8 Analyzing Code To gather metrics w.r.t. dependencies, code must be analyzed. Options are: Analyzing byte code. Analyzing source code. Reflection. Observing code executing (e.g., using a debugger interface). Reflection is very easy to implement, but does only reveal some dependencies (e.g. class occurrences in declarations). The other options are more difficult to implement, but yield better results. Postgraduate Certificate in Professional Development Slide 22 Measuring Coupling between Packages Afferent Couplings How many other packages depend upon a package. An indicator of the package's responsibility. Efferent Couplings On how many other packages depends a package. An indicator of the package's independence. Coupling between packages should be part of the design model, metric can be used to verify the design (as part of the SQA). Circular dependencies / couplings usually indicate problems. Postgraduate Certificate in Professional Development Slide 23 Measuring Coupling between Packages(ctd) This translates often into runtime problems like Increased program size. Platform / version dependencies. Configuration problems. Related: abstractness (number of abstract classes / interfaces). Abstract packages have more afferent couplings, Packages with many efferent couplings should have a low abstractness level. Abstractness A = interfaces+abstract classes/total classes JDepend ( is a good free dependency checker for java that can be integrated into an ANT script. Postgraduate Certificate in Professional Development Slide 24 Postgraduate Certificate in Professional Development 8
9 Measuring Coupling between Packages (ctd) A couple of derived metrics can be computed from afferent (CA) and efferent couplings (CE). Instability I = CE / (CE + CA). This metric is an indicator of the package's resilience to change [ Factor is high if there are relatively many dependencies on other packages this package is more likely to change. Abstract packages should be more stable, implementation packages are generally more instable. Good packages are close to the main line A+I=1 (good balance between stability and abstractness). Open questions: Context for metrics (e.g., should test classes, packages count). Should exception classes be considered as abstract? Measuring abstractness on a sub-class level (for abstract classes). Postgraduate Certificate in Professional Development Slide 25 Couplings and Architectural Design Example: typical couplings between modules Other Module Shared Module Tests Application layers Abstract Implementation CA = 0 CE = 2 I = 1 A = 0 presentation (GUI) CA = 4 CE = 0 I = 0 A = 0.8 CA = 2 CE = 1 I = 0.33 A = 0 logic persistency Postgraduate Certificate in Professional Development Slide 26 Applied Testing Some Case Studies on Testing in Java. JUnit primer. Writing JUnit test cases. Measuring test coverage with Clover. Integrating JUnit into ANT. Testing complex applications: Server side application design. Mock objects. In container testing: Cactus. Postgraduate Certificate in Professional Development Slide 27 Postgraduate Certificate in Professional Development 9
Technical Metrics for OO Systems
Technical Metrics for OO Systems 1 Last time: Metrics Non-technical: about process Technical: about product Size, complexity (cyclomatic, function points) How to use metrics Prioritize work Measure programmer
More informationVerification and Validation. Assuring that a software system meets a user s needs. Verification vs Validation. The V & V Process
Verification and Validation Assuring that a software system meets a user s needs Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 19,20 Slide 1
More informationThree General Principles of QA. COMP 4004 Fall Notes Adapted from Dr. A. Williams
Three General Principles of QA COMP 4004 Fall 2008 Notes Adapted from Dr. A. Williams Software Quality Assurance Lec2 1 Three General Principles of QA Know what you are doing. Know what you should be doing.
More informationTopic: Software Verification, Validation and Testing Software Engineering. Faculty of Computing Universiti Teknologi Malaysia
Topic: Software Verification, Validation and Testing Software Engineering Faculty of Computing Universiti Teknologi Malaysia 2016 Software Engineering 2 Recap on SDLC Phases & Artefacts Domain Analysis
More informationWHY TEST SOFTWARE?...
2 At a glance 1 PREFACE... 3 2 AT A GLANCE... 5 3 TABLE OF CONTENTS... 9 4 INTRODUCTION... 17 5 WHY TEST SOFTWARE?... 19 5.1 WHY TEST SOFTWARE?... 19 5.2 LIMITATIONS OF TESTING... 20 5.3 ALTERNATIVE TO
More informationVerification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1
Verification and Validation Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1 Verification vs validation Verification: "Are we building the product right?. The software should
More informationSoftware Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 11/10/2015
Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm Rao Casturi 11/10/2015 http://cs.gsu.edu/~ncasturi1 Class announcements Final Exam date - Dec 1 st. Final Presentations Dec 3 rd. And
More informationLecture 15 Software Testing
Lecture 15 Software Testing Includes slides from the companion website for Sommerville, Software Engineering, 10/e. Pearson Higher Education, 2016. All rights reserved. Used with permission. Topics covered
More informationPart 5. Verification and Validation
Software Engineering Part 5. Verification and Validation - Verification and Validation - Software Testing Ver. 1.7 This lecture note is based on materials from Ian Sommerville 2006. Anyone can use this
More informationSoftware Engineering Fall 2014
Software Engineering Fall 2014 (CSC 4350/6350) Mon.- Wed. 5:30 pm 7:15 pm ALC : 107 Rao Casturi 11/10/2014 Final Exam date - Dec 10 th? Class announcements Final Presentations Dec 3 rd. And Dec 8 th. Ability
More informationBridge Course On Software Testing
G. PULLAIAH COLLEGE OF ENGINEERING AND TECHNOLOGY Accredited by NAAC with A Grade of UGC, Approved by AICTE, New Delhi Permanently Affiliated to JNTUA, Ananthapuramu (Recognized by UGC under 2(f) and 12(B)
More informationSoftware Quality Assurance. David Janzen
Software Quality Assurance David Janzen What is quality? Crosby: Conformance to requirements Issues: who establishes requirements? implicit requirements Juran: Fitness for intended use Issues: Who defines
More informationQUIZ #5 - Solutions (5pts each)
CS 435 Spring 2014 SOFTWARE ENGINEERING Department of Computer Science Name QUIZ #5 - Solutions (5pts each) 1. The best reason for using Independent software test teams is that a. software developers do
More informationChapter 9 Quality and Change Management
MACIASZEK, L.A. (2007): Requirements Analysis and System Design, 3 rd ed. Addison Wesley, Harlow England ISBN 978-0-321-44036-5 Chapter 9 Quality and Change Management Pearson Education Limited 2007 Topics
More informationPearson Education 2007 Chapter 9 (RASD 3/e)
MACIASZEK, L.A. (2007): Requirements Analysis and System Design, 3 rd ed. Addison Wesley, Harlow England ISBN 978-0-321-44036-5 Chapter 9 Quality and Change Management Pearson Education Limited 2007 Topics
More informationBlack Box Testing. EEC 521: Software Engineering. Specification-Based Testing. No Source Code. Software Testing
Black Box Testing EEC 521: Software Engineering Software Testing Black-Box Testing Test-Driven Development Also known as specification-based testing Tester has access only to running code and the specification
More informationSoftware Engineering (CSC 4350/6350) Rao Casturi
Software Engineering (CSC 4350/6350) Rao Casturi Testing Software Engineering -CSC4350/6350 - Rao Casturi 2 Testing What is testing? Process of finding the divergence between the expected behavior of the
More informationPrinciples of Software Construction: Objects, Design, and Concurrency (Part 2: Designing (Sub )Systems)
Principles of Software Construction: Objects, Design, and Concurrency (Part 2: Designing (Sub )Systems) More Analysis for Functional Correctness Jonathan Aldrich Charlie Garrod School of Computer Science
More informationSoftware Engineering Software Testing Techniques
Software Engineering Software Testing Techniques 1 Testability Operability it it operates cleanly Observability the the results of each test case are readily observed Controllability the the degree to
More informationCMSC 132: OBJECT-ORIENTED PROGRAMMING II
CMSC 132: OBJECT-ORIENTED PROGRAMMING II Program Testing Department of Computer Science University of Maryland, College Park Debugging Is Harder Than Coding! Debugging is twice as hard as writing the code
More informationIT323 - Software Engineering 2 1
IT323 - Software Engineering 2 1 Explain how standards may be used to capture organizational wisdom about effective methods of software development. Suggest four types of knowledge that might be captured
More informationOverview. State-of-the-Art. Relative cost of error correction. CS 619 Introduction to OO Design and Development. Testing.
Overview CS 619 Introduction to OO Design and Development ing! Preliminaries! All sorts of test techniques! Comparison of test techniques! Software reliability Fall 2012! Main issues: There are a great
More informationIntroduction: Manual Testing :
: What is Automation Testing? Use of Automation. Where do we use. Tools that Do Automation. Web Applications vs Standalone Applications. What is selenium? How selenium works. Manual Testing : HTML: Detailed
More informationProgram Correctness and Efficiency. Chapter 2
Program Correctness and Efficiency Chapter 2 Chapter Objectives To understand the differences between the three categories of program errors To understand the effect of an uncaught exception and why you
More informationNo Source Code. EEC 521: Software Engineering. Specification-Based Testing. Advantages
No Source Code : Software Testing Black-Box Testing Test-Driven Development No access to source code So test cases don t worry about structure Emphasis is only on ensuring that the contract is met Specification-Based
More informationSoftware Test. Levels of test. Types of test. Regression test The JUnit tool for unit testing Java programs. System test Integration test Unit test
Levels of test System test Integration test Unit test Types of test Black box White box Software Test Regression test The JUnit tool for unit testing Java programs OOP: Software Test 1 Introduction Sofware
More informationIntroduction to Software Engineering
Introduction to Software Engineering (CS350) Lecture 17 Jongmoon Baik Testing Conventional Applications 2 Testability Operability it operates cleanly Observability the results of each test case are readily
More informationVerification and Validation
Verification and Validation Assuring that a software system meets a user's needs Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 19 Slide 1 Objectives To introduce software verification
More informationChapter 10. Testing and Quality Assurance
Chapter 10 Testing and Quality Assurance Different styles of doing code review Human Reviewer Code Inspection with continuous integration infrastructure Pinger s testing set up Testing Related topics 1.
More informationObjectives. Chapter 19. Verification vs. validation. Topics covered. Static and dynamic verification. The V&V process
Objectives Chapter 19 Verification and Validation Assuring that a software system meets a user s need are to introduce software verification and validation (V&V) and to discuss the distinction between
More informationSystems Development Life Cycle SDLC Planning Analysis Detailed systems design Implementation Maintenance 7 8 SDLC - Planning SDLC - Analysis Planning
Objectives Computer Science 202 Database Systems: Database Design To learn what an information system is. To learn what a Database Life Cycle (DBLC) is. To learn what a Systems Development Life Cycle (SDLC)
More informationInternal Classes and Exceptions
Internal Classes and Exceptions Object Orientated Programming in Java Benjamin Kenwright Outline Exceptions and Internal Classes Why exception handling makes your code more manageable and reliable Today
More informationQuality-Driven Build Scripts for Java Applications. Duy (uu-eee) B. Vo Graduate Student San José State University Department of Computer Science
Quality-Driven Build Scripts for Java Applications Duy (uu-eee) B. Vo Graduate Student San José State University Department of Computer Science Some Measures of a Quality Software Product Is the product
More informationVerification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1
Verification and Validation 1 Objectives To introduce software verification and validation and to discuss the distinction between them To describe the program inspection process and its role in V & V To
More informationFeasibility of Testing to Code. Feasibility of Testing to Code. Feasibility of Testing to Code. Feasibility of Testing to Code (contd)
Feasibility of Testing to Code (contd) Feasibility of Testing to Code (contd) An incorrect code fragment for determining if three integers are equal, together with two test cases Flowchart has over 10
More informationChapter 9. Software Testing
Chapter 9. Software Testing Table of Contents Objectives... 1 Introduction to software testing... 1 The testers... 2 The developers... 2 An independent testing team... 2 The customer... 2 Principles of
More informationSample Exam. Advanced Test Automation - Engineer
Sample Exam Advanced Test Automation - Engineer Questions ASTQB Created - 2018 American Software Testing Qualifications Board Copyright Notice This document may be copied in its entirety, or extracts made,
More informationSoftware Engineering
Software Engineering Lecture 13: Testing and Debugging Testing Peter Thiemann University of Freiburg, Germany SS 2014 Recap Recap Testing detect the presence of bugs by observing failures Recap Testing
More informationUML and Design Patterns Prof. Dr. Eric Dubuis, V. June Engineering and Information Technology. On Package Design
On Package Design Berner Fachhochschule Engineering and Information Technology Prof. Dr. Eric Dubuis Software Engineering and Design Version June 2008 1 Content Package Design: Basic Principle Dependency
More informationEfficient Regression Test Model for Object Oriented Software
Efficient Regression Test Model for Object Oriented Software Swarna Lata Pati College of Engg. & Tech, Bhubaneswar Abstract : This paper presents an efficient regression testing model with an integration
More informationAerospace Software Engineering
16.35 Aerospace Software Engineering Verification & Validation Prof. Kristina Lundqvist Dept. of Aero/Astro, MIT Would You...... trust a completely-automated nuclear power plant?... trust a completely-automated
More informationQuote by Bruce Sterling, from: A Software Testing Primer, Nick Jenkins
Software Testing Why Test? Quote by Bruce Sterling, from: A Software Testing Primer, Nick Jenkins https://www.typemock.com/software-bugs-infographic A bug found at design time costs ten times less to fix
More informationProgramming Embedded Systems
Programming Embedded Systems Lecture 8 Overview of software testing Wednesday Feb 8, 2012 Philipp Rümmer Uppsala University Philipp.Ruemmer@it.uu.se 1/53 Lecture outline Testing in general Unit testing
More informationSoftware Quality. Richard Harris
Software Quality Richard Harris Part 1 Software Quality 143.465 Software Quality 2 Presentation Outline Defining Software Quality Improving source code quality More on reliability Software testing Software
More informationINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERING Introduction to Software Testing d_sinnig@cs.concordia.ca Department for Computer Science and Software Engineering What is software testing? Software testing consists
More informationVerification and Validation
Lecturer: Sebastian Coope Ashton Building, Room G.18 E-mail: coopes@liverpool.ac.uk COMP 201 web-page: http://www.csc.liv.ac.uk/~coopes/comp201 Verification and Validation 1 Verification and Validation
More informationDarshan Institute of Engineering & Technology Unit : 9
1) Explain software testing strategy for conventional software architecture. Draw the spiral diagram showing testing strategies with phases of software development. Software Testing: Once source code has
More informationDarshan Institute of Engineering & Technology for Diploma Studies
CODING Good software development organizations normally require their programmers to follow some welldefined and standard style of coding called coding standards. Most software development organizations
More informationSample Exam ISTQB Advanced Test Analyst Answer Rationale. Prepared By
Sample Exam ISTQB Advanced Test Analyst Answer Rationale Prepared By Released March 2016 TTA-1.3.1 (K2) Summarize the generic risk factors that the Technical Test Analyst typically needs to consider #1
More informationIan Sommerville 2006 Software Engineering, 8th edition. Chapter 22 Slide 1
Verification and Validation Slide 1 Objectives To introduce software verification and validation and to discuss the distinction between them To describe the program inspection process and its role in V
More informationWhy testing and analysis. Software Testing. A framework for software testing. Outline. Software Qualities. Dependability Properties
Why testing and analysis Software Testing Adapted from FSE 98 Tutorial by Michal Young and Mauro Pezze Software is never correct no matter what developing testing technique is used All software must be
More informationManuel Oriol, CHCRC-C, Software Testing ABB
Manuel Oriol, CHCRC-C, 08.11.2017 Software Testing Slide 1 About me 1998 2004 2005 2008 2011 Slide 2 Introduction Why do we test? Did you have to deal with testing in the past? Slide 3 Ariane 5 http://www.youtube.com/watch?v=kyurqduyepi
More informationSoftware Metrics. Lines of Code
Software Metrics Naveed Arshad Lines of Code The total number of lines of executable code in the software program or module being measured But lines of code could mean anything e.g. count only executable
More informationAchieving Right Automation Balance in Agile Projects
Achieving Right Automation Balance in Agile Projects Vijayagopal Narayanan Vijayagopal.n@cognizant.com Abstract When is testing complete and How much testing is sufficient is a fundamental questions that
More informationTesting. ECE/CS 5780/6780: Embedded System Design. Why is testing so hard? Why do testing?
Testing ECE/CS 5780/6780: Embedded System Design Scott R. Little Lecture 24: Introduction to Software Testing and Verification What is software testing? Running a program in order to find bugs (faults,
More informationObject Oriented Metrics. Impact on Software Quality
Object Oriented Metrics Impact on Software Quality Classic metrics Lines Of Code Function points Complexity Code coverage - testing Maintainability Index discussed later Lines of Code KLOC = 1000 Lines
More informationSoftware Testing CS 408
Software Testing CS 408 1/09/18 Course Webpage: http://www.cs.purdue.edu/homes/suresh/408-spring2018 1 The Course Understand testing in the context of an Agile software development methodology - Detail
More informationSOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur
SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur School of Computing, Department of IT 1 School of Computing, Department 2 SOFTWARE TESTING
More informationDepartment of Electrical & Computer Engineering, University of Calgary. B.H. Far
SENG 421: Software Metrics Software Test Metrics (Chapter 10) Department of Electrical & Computer Engineering, University of Calgary B.H. Far (far@ucalgary.ca) http://www.enel.ucalgary.ca/people/far/lectures/seng421/10/
More informationProduct Quality Engineering. RIT Software Engineering
Product Quality Engineering Q vs q Quality includes many more attributes than just absence of defects Features Performance Availability Safety Security Reusability Extensibility Modifiability Portability
More informationComponent-based Architecture Buy, don t build Fred Broks
Component-based Architecture Buy, don t build Fred Broks 1. Why use components?... 2 2. What are software components?... 3 3. Component-based Systems: A Reality!! [SEI reference]... 4 4. Major elements
More informationIngegneria del Software Corso di Laurea in Informatica per il Management
Ingegneria del Software Corso di Laurea in Informatica per il Management Software testing Davide Rossi Dipartimento di Informatica Università di Bologna Validation and verification Software testing is
More informationSecond assignment came out Monday evening. Find defects in Hnefetafl rules written by your classmates. Topic: Code Inspection and Testing
Announcements Second assignment came out Monday evening Topic: Code Inspection and Testing Find defects in Hnefetafl rules written by your classmates Compare inspection, coverage testing, random testing,
More informationSE310 Analysis and Design of Software
SE310 Analysis and Design of Software Lecture 14 REVIEW March 26, 2018 Sam Siewert Domain Models Use Case Details Complete a Design Provide Code Re-Use Candidate and PoC/Prototype Start Here! https://www.modelio.org/
More informationAutomated Acceptance Testing
Automated Acceptance Testing Björn Beskow Callista Enterprise AB bjorn.beskow@callista.se http://www.callista.se/enterprise CADEC 2004-01-28, Automated Acceptance Testing, Slide 1 Target audience and Objectives
More informationManual Testing. Software Development Life Cycle. Verification. Mobile Testing
10 Weeks (Weekday Batches) or 12 Weekends (Weekend batches) To become a Professional Software Tester To enable the students to become Employable Manual Testing Fundamental of Testing What is software testing?
More informationStandard Glossary of Terms used in Software Testing. Version 3.2. Advanced Test Automation - Engineer Terms
Standard Glossary of Terms used in Software Testing Version 3.2 International Software Testing Qualifications Board Copyright Notice This document may be copied in its entirety, or extracts made, if the
More informationMetrics and OO. SE 3S03 - Tutorial 12. Alicia Marinache. Week of Apr 04, Department of Computer Science McMaster University
and OO OO and OO SE 3S03 - Tutorial 12 Department of Computer Science McMaster University Complexity Lorenz CK Week of Apr 04, 2016 Acknowledgments: The material of these slides is based on [1] (chapter
More information4B Summary of some Key SW Testing Concepts 1
4B Summary of some Key SW Testing Concepts 1 Note: Section 4A presented a particular, specific method for developing (system or requirements level) tests cases from UML use cases. Section 4B provides a
More informationCSE 70 Final Exam Fall 2009
Signature cs70f Name Student ID CSE 70 Final Exam Fall 2009 Page 1 (10 points) Page 2 (16 points) Page 3 (22 points) Page 4 (13 points) Page 5 (15 points) Page 6 (20 points) Page 7 (9 points) Page 8 (15
More informationResearch Scholar, Sree Saraswathi Thyagaraja College, Pollachi, Tamil Nadu, India. Pollachi, Tamil Nadu, India. 1. Introduction
Comparing the efficiency of selenium and UFT through writing the test script for checking out the website for ensuring its QA S. Julie Violet Joyslin 1 and Dr. R. Gunavathi 2 1 Research Scholar, Sree Saraswathi
More informationXVIII. Software Testing. Laurea Triennale in Informatica Corso di Ingegneria del Software I A.A. 2006/2007 Andrea Polini
XVIII. Software Testing Laurea Triennale in Informatica Corso di Objective General discussion on Testing Testing Phases Approaches to testing Structural testing Functional testing Testing non functional
More informationComputer Science and Software Engineering University of Wisconsin - Platteville 9-Software Testing, Verification and Validation
Computer Science and Software Engineering University of Wisconsin - Platteville 9-Software Testing, Verification and Validation Yan Shi SE 2730 Lecture Notes Verification and Validation Verification: Are
More informationCSCE3193: Programming Paradigms
CSCE3193: Programming Paradigms Nilanjan Banerjee University of Arkansas Fayetteville, AR nilanb@uark.edu http://www.csce.uark.edu/~nilanb/3193/s10/ Programming Paradigms 1 Java Packages Application programmer
More informationSoftware Engineering Testing and Debugging Testing
Software Engineering Testing and Debugging Testing Prof. Dr. Peter Thiemann Universitt Freiburg 08.06.2011 Recap Testing detect the presence of bugs by observing failures Debugging find the bug causing
More informationMind Q Systems Private Limited
Software Testing Tools Introduction Introduction to software Testing Software Development Process Project Vs Product Objectives of Testing Testing Principals Software Development Life Cycle SDLC SDLC Models
More informationUNIT-2 Levels of Testing
Levels of Testing Unit testing Integration testing System testing Acceptance testing - alpha testing, beta testing Static and dynamic testing Manual and automation testing 1 PARUL UNIVERSITY [MCA] Garima
More informationSoftware Design and Analysis CSCI 2040
Software Design and Analysis CSCI 2040 Summarize UML Deployment and Component notation. Design a framework with the Template Method, State, and Command patterns. Introduce issues in object-relational (O-R)
More informationThis tutorial also elaborates on other related methodologies like Agile, RAD and Prototyping.
i About the Tutorial SDLC stands for Software Development Life Cycle. SDLC is a process that consists of a series of planned activities to develop or alter the Software Products. This tutorial will give
More informationINTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY
INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY A PATH FOR HORIZING YOUR INNOVATIVE WORK AUTOMATION TESTING IN SOFTWARE DEVELOPEMENT KALPESH PARMAR Persistent Systems Limited,
More informationUnit Testing and Test Driven Design
Unit Testing and Test Driven Design Björn Beskow Callista Enterprise AB bjorn.beskow@callista.se http://www.callista.se/enterprise CADEC 2003-01-29, Unit Testing and Test Driven Design, Slide 1 Unit Testing
More informationContinuous Testing at Scale
Continuous Testing at Scale TAPOST Conference October 12th 2016, Riga dmitry@buzdin.lv @buzdin Dmitry Buzdin Introduction to Continuous Testing Continuous Delivery Get changes to production in fast and
More informationSoftware Testing part II (white box) Lecturer: Giuseppe Santucci
Software Testing part II (white box) Lecturer: Giuseppe Santucci 4. White box testing White-box (or Glass-box) testing: general characteristics Statement coverage Decision coverage Condition coverage Decision
More informationa. The following method would allow an object of the static type List<String> to be passed to it as an argument.
On the final exam you will be provided UML diagrams for design patterns (as in the midterm) and also JavaDoc description of methods in the Reflection API. 1. True/False (if false, explain why) a. The following
More informationAnalysis Tool Project
Tool Overview The tool we chose to analyze was the Java static analysis tool FindBugs (http://findbugs.sourceforge.net/). FindBugs is A framework for writing static analyses Developed at the University
More informationTesting. Unit, integration, regression, validation, system. OO Testing techniques Application of traditional techniques to OO software
Testing Basic ideas and principles Traditional testing strategies Unit, integration, regression, validation, system OO Testing techniques Application of traditional techniques to OO software Testing-11,
More informationKey Features. Defect Rates. Traditional Unit testing: 25 faults / KLOC System testing: 25 / KLOC Inspections: / KLOC
Cleanroom attempt to mathematically-based, scientific engineering process of software development Cleanroom software engineering yields software that is correct by mathematically sound design, and software
More informationMeltem Özturan misprivate.boun.edu.tr/ozturan/mis515
Meltem Özturan misprivate.boun.edu.tr/ozturan/mis515 1 2 1 Selecting the Best Alternative Major Activities in the Analysis Phase Gather information Define system requirements Prototype for feasibility
More informationThrough a Glass, Darkly: Object-Oriented Testing. Through A Glass, Darkly:
Through A Glass, Darkly: Object-Oriented Testing 1 EECS 814 Presentation Slide 1 of 110 Personal Info B.S. Computer Science MWSU B.S. Chemistry MWSU 2 15 years professional programming experience Reuters
More informationTesting is the process of evaluating a system or its component(s) with the intent to find whether it satisfies the specified requirements or not.
i About the Tutorial Testing is the process of evaluating a system or its component(s) with the intent to find whether it satisfies the specified requirements or not. Testing is executing a system in order
More informationSecurity Testing. John Slankas
Security Testing John Slankas jbslanka@ncsu.edu Course Slides adapted from OWASP Testing Guide v4 CSC 515 Software Security What is Security Testing? Validate security controls operate as expected What
More informationSample Question Paper. Software Testing (ETIT 414)
Sample Question Paper Software Testing (ETIT 414) Q 1 i) What is functional testing? This type of testing ignores the internal parts and focus on the output is as per requirement or not. Black-box type
More informationCA Compiler Construction
CA4003 - Compiler Construction David Sinclair When procedure A calls procedure B, we name procedure A the caller and procedure B the callee. A Runtime Environment, also called an Activation Record, is
More informationDataworks Development, Inc. P.O. Box 174 Mountlake Terrace, WA (425) fax (425)
Dataworks Development, Inc. P.O. Box 174 Mountlake Terrace, WA 98043 (425) 673-1974 fax (425) 673-2506 The Freezerworks Validation Verification Package Dataworks Development, Inc. has over 20 years of
More informationObject Model. Object Orientated Analysis and Design. Benjamin Kenwright
Object Model Object Orientated Analysis and Design Benjamin Kenwright Outline Submissions/Quizzes Review Object Orientated Programming Concepts (e.g., encapsulation, data abstraction,..) What do we mean
More informationChapter 4 Defining Classes I
Chapter 4 Defining Classes I This chapter introduces the idea that students can create their own classes and therefore their own objects. Introduced is the idea of methods and instance variables as the
More informationJ2EE Application Development : Conversion and Beyond Osmond Ng
IBM Software Group J2EE Application Development : Conversion and Beyond Osmond Ng IBM Software Group Practitioner View Point IBM Rational Application Developer J2EE/EJB Tooling J2EE construction tools
More informationImplementation Architecture
Implementation Architecture Software Architecture VO/KU (707023/707024) Roman Kern ISDS, TU Graz 2017-11-15 Roman Kern (ISDS, TU Graz) Implementation Architecture 2017-11-15 1 / 54 Outline 1 Definition
More informationJunit Overview. By Ana I. Duncan
Junit Overview By Ana I. Duncan 1 What Is Junit Why Junit, Why test? Junit Lifecycle Junit Examples from CM Other Testing frameworks Resources Before After Agenda 2 JUnit is a member of the xunit testing
More informationReasoning About Objects
Massey University New Zealand Reasoning About Objects Jens Dietrich Massey University Institute of Information Sciences and Technology j.b.dietrich@massey.ac.nz Summary 1. Introduction 2. Building Rules
More information