SE420 Software Quality Assurance

Size: px
Start display at page:

Download "SE420 Software Quality Assurance"

Transcription

1 SE420 Software Quality Assurance Lecture 11 Using Test Automation for Process Improvement [SEI Level 3,4,5 Defined, Repeatable, Measureable, Continuously Improved] March 26, 2018 Sam Siewert

2 Reminders Assignment #5 Remaining Assignments [Top Down / Bottom-Up] #6 Complete Code, Refine and Run all V&V Tests and Deliver Track Bugs with Bugzilla - or GitHub Issues or Spreadsheet (backup) Update your Project Code on GitHub - Assignment #5 & #6 Posted Questions? Sam Siewert 2

3 Regression Testing and Test Automation Re-test Units After Defects are Fixed Re-run I&T and System Tests Automation from Checkout, Build, Test Sets, Verification & Validation of Expected Results Regression Testing (Test Automation) Sam Siewert 3

4 Common Languages Used for SQA Automation Historically BASH and CSH Shell Scripting Used for quick and simple test automation TCL/TK - Tool Command Language, Expect Larry Wall s Perl language (found in older test suites) In Addition and/or More Often Today, [PL specific] Python and numerous libraries such as robotframework MS PowerShell, Autoit for Windows and BASH for Linux DejaGnu for most any compiled PL Java and JUnit, JCov Ruby using cucumber Team #2 - JavaScript - Jasmine, AVA, Mocha Examples to Automate C/C++ with BASH (Expect) - Example SRS gcov, gprof METRICS assert (why?) TEST CONTROL Expect TEST AUTOMATION Makefile, BASH TEST SCRIPTING Sam Siewert 4

5 Test Case, Test Set Automation Compose Drivers, C main(char * argv[], int argc) to run Test Cases based on Argument Vector Each Driver is a Major Test Case with Numerous Sub-test Cases Theme for Each, such as Performance Data Compare and Verification Error Handling with Fault Injection Run Each Driver from C-shell, Perl, or Python Script to Automate Execution of Test Cases [Vectors] in Test Set Save Results to a Log File Process Log File to Generate [PASS/FAIL] Report Sam Siewert 5

6 Simple Automation Example Test/blob/master/raid_regression.sh Automated Test Run for RAID Always Do git pull and Build First Sam Siewert 6

7 RAID5 Encode Testing Rebuild Erased Sector from XOR Parity Dump Both Data Compare Visually Verify or Automate with Expect / DejaGNU Also Dumps Binary Files for diff compare TEST SET 2 Sam Siewert 7

8 TCL / Expect / DejaGNU Expect (NIST Tool Don Libes) built on TCL - Extension of TCL and Expect, To Automate Build for Test Concept Automate Verification of Expected Results and Convert Test Output o PASS / FAIL Useful for Regression Testing Test Sets or Suites Composed of Many Test Cases DejaGnu Manual Howto: Using DejaGnu for Testing Sam Siewert 8

9 TEST SET 2 Test 1000 Unique (or more) Cases of Rebuild with Assert to Catch Data miscompare External Binary File Diff Expected differences Sam Siewert 9

10 TEST SET 3 Performance Adapted from Earlier Driver Improve to Add Cases for Encode Case for Rebuild of N Sectors Read-Modify Write Encode Cases Fill-out Test Set with More Cases and Verify with DejaGnu Sam Siewert 10

11 Expect PASS/FAIL Automation List all Expect patterns for FAIL and timeout and exit if FAIL matches On timeout expiration, note and go on to next test On PASS match, note and go on Expected PASS Input to Expect Script No Input to Expect Script Sam Siewert 11

12 General V&V Automation Many Tools Exist DejaGnu a short introduction Go Beyond Batch Test and Visual Inspection Batch is Execution Automation Only To Run Drivers in A Sequence Expect / DejaGnu Automates V&V Reports in Addition to Running Drivers Sam Siewert 12

13 Test Automation and SEI CMM Coverage Criteria, Bug Open/Close Rate Metrics, Pass/Fail Statistics Provide Quantitative Management [Level 4] Automation is a Step Toward Optimization Necessary, but Not Sufficient (Metrics for Feedback Process Improvement) SEI CMM Levels Feedback Used to Improve Process with Automation and Innovation Entry/Exit Criteria for Phases, Metrics Drive Decisions in Process [Gates] E.g. Boehm s V and Spiral Model, Applied to All Projects - Repeatable Clear Phases with Key Deliverables Analysis, Design, Units, Test Plans Ad Hoc, Code & Fix Driven by Individual Styles, Un-coordinated, More of an Art than Practice Sam Siewert 13

14 SEI CMM Levels Described Level 3 and Above Requires IPPD Customers Managers Engineers Users SQA & Audit To Contribute to Improvement of Process over Lifecycle and Products Sam Siewert 14

15 SEI CMM 4 & 5 Most On-Going Software and Systems Organizations are SEI CMM 3 to Survive [Required for Business Continuity] Levels 4 & 5 Speed Time to Market, Improve Customer Experience, Grow Market Share, Reduces Lifecycle Cost Sam Siewert 15

16 SEI Rating Examples Certification for Organizations and Professionals cation/ ing/certificates/holders urement/ (methods for Level- 4, 5) Organizations Claiming SEI CMM Level 4 or 5 More Today Based on Automation, Life-long Learning Sam Siewert 16

17 Note on Validation and Verification Metrics, Repeatability and Optimization Layer on Good Base of V&V Did We build the right thing Validation Did We build the thing right Verification For tests, did we build the test right? Test verification Test your tests Follow good practices in Test driver code Did we build the right test? Test validation Are we running the test on correct Architecture and HW configuration? Are we running the test with the correct and most current build of the software? Sam Siewert 17

18 Discussion and Q&A Does SEI CMM Rating Matter? System Testing Entrance Criteria [When is I&T Complete?] Of All Recognized System Test Types, Which are Critical to My Organization? Wikipedia on System Test Types Select Focus in System Testing Based on System Requirements and Product Exit Criteria Regression Test Automation Checkout, Build, Test Set (Cases in Drivers) Scripted, Expected Results Verified & Validated Unit, I&T, System Test Sets Re-run Daily, Weekly, Prior to Push SQA Process Documentation, Audits, Improvement Certification E.g. ISO 9000, SEI CMM Levels 3 5, Etc. Is Process Documented? Repeatable? Can it Be Improved? Automated? Verifiable Criteria? [E.g. Code Coverage Tool Records] Does Certification Matter? Who Does Audits? Current Issue How are Auditors Accountable? Sam Siewert 18

SE420 Software Quality Assurance

SE420 Software Quality Assurance SE420 Software Quality Assurance http://dilbert.com/strips/comic/2007-07-30/ Lecture 11 Testing Automation and Process Improvement October 28, 2014 Sam Siewert Assignment #5 Due 11/9 Reminders Remaining

More information

SE420 Software Quality Assurance

SE420 Software Quality Assurance SE420 Software Quality Assurance Lecture 12 Final Review December 3, 2014 Sam Siewert MSQA Chapters 1-6, Notes Through Week 6 SQA FIRST HALF Sam Siewert 2 Coverage As Noted on Syllabus Murali Chapters

More information

SE420 - Software Quality Assurance

SE420 - Software Quality Assurance SE420 - Software Quality Assurance http://dilbert.com/strip/2010-08-21 Lecture 9 Negative Testing, Defect Tracking and Root-Cause Analysis March 14, 2016 Sam Siewert Reminders Assignment #4 Remaining Assignments

More information

SE420 - Software Quality Assurance

SE420 - Software Quality Assurance SE420 - Software Quality Assurance http://dilbert.com/strips/comic/2006-01-29/ Lecture 3 Unit Testing, Part-2 January 21, 2019 Sam Siewert Reminders Assignment #2 Posted Thursday [Unit Re-Use] Explore

More information

SE310 Analysis and Design of Software Systems

SE310 Analysis and Design of Software Systems SE310 Analysis and Design of Software Systems Lecture 2-2 Systems Engineering for OO January 17, 2018 Sam Siewert Learning Objective Software Engineering Process? Lifecycle Phases feedback SPIRAL in Agile

More information

SE420 Software Quality Assurance

SE420 Software Quality Assurance SE420 Software Quality Assurance Lecture 9 Negative Testing, Defect Tracking and Root-Cause Analysis March 6, 2018 Sam Siewert Reminders Team Module Overview and First Walkthrough After Spring Break (Upon

More information

Using Git to Manage I&T Projects and for Code & Design File CMVC

Using Git to Manage I&T Projects and for Code & Design File CMVC Using Git to Manage I&T Projects and for Code & Design File CMVC http://www.stsc.hill.af.mil/resources/tech_docs/gsam4.html GitHub Use October 28, 2014 Sam Siewert Integration and Test Integrate Software

More information

Software Engineering 2 A practical course in software engineering. Ekkart Kindler

Software Engineering 2 A practical course in software engineering. Ekkart Kindler Software Engineering 2 A practical course in software engineering Quality Management Main Message Planning phase Definition phase Design phase Implem. phase Acceptance phase Mainten. phase 3 1. Overview

More information

Software Quality Assurance. David Janzen

Software 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 information

SE420 Software Quality Assurance

SE420 Software Quality Assurance SE420 Software Quality Assurance Lecture 4 Unit Testing Tools, Part-1 January 29, 2018 Sam Siewert Assignment #1 Avoid Subjective Test Results Cost, Impact, Probability [Not from this year] 1. the code

More information

Using Git to Manage I&T Projects and for Code & Design File CMVC

Using Git to Manage I&T Projects and for Code & Design File CMVC Using Git to Manage I&T Projects and for Code & Design File CMVC http://www.stsc.hill.af.mil/resources/tech_docs/gsam4.html GitHub Use October 28, 2014 Sam Siewert Integration and Test Integrate Software

More information

SE310 Analysis and Design of Software

SE310 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 information

Certified Tester Foundation Level(CTFL)

Certified Tester Foundation Level(CTFL) Certified Tester Foundation Level(CTFL) ISTQB : International Software Testing Qualifications Board Heading: The International Software Testing Qualifications Board (ISTQB) is an internationally recognized

More information

Testing. Projects. Corporate Trainer s Profile. CMM (Capability Maturity Model) level Project Standard:- TECHNOLOGIES

Testing. Projects. Corporate Trainer s Profile. CMM (Capability Maturity Model) level Project Standard:- TECHNOLOGIES Corporate Solutions Pvt. Ltd. Corporate Trainer s Profile Corporate Trainers are having the experience of 4 to 12 years in development, working with TOP CMM level 5 comapnies (Project Leader /Project Manager

More information

CSE 15L Winter Midterm :) Review

CSE 15L Winter Midterm :) Review CSE 15L Winter 2015 Midterm :) Review Makefiles Makefiles - The Overview Questions you should be able to answer What is the point of a Makefile Why don t we just compile it again? Why don t we just use

More information

Test Plan. Co-op Evaluation System. Senior Project Team Members: Tyler Geery Maddison Hickson Casey Klimkowsky Emma Nelson.

Test Plan. Co-op Evaluation System. Senior Project Team Members: Tyler Geery Maddison Hickson Casey Klimkowsky Emma Nelson. Test Plan Co-op Evaluation System Senior Project 2014-2015 Team Members: Tyler Geery Maddison Hickson Casey Klimkowsky Emma Nelson Faculty Coach: Samuel Malachowsky Project Sponsors: Jim Bondi (OCSCE)

More information

SE420 Software Quality Assurance

SE420 Software Quality Assurance SE420 Software Quality Assurance Lecture 4 Unit Testing Tools, Part-1 January 21, 2016 Sam Siewert Assignment #1 Avoid Subjective Test Results Cost, Impact, Probability 1. the code is generally bug free

More information

Diploma in Software Testing (DST)

Diploma in Software Testing (DST) SEED Infotech Ltd. : ' Panchasheel', 42/16, Erandawana`, SEED Infotech Lane, Off Karve Road Pune - 411004. India www.seedinfotech.com Course Name : Duration : Class room: 114 Hrs Product Code : ST-ST-50001

More information

Larry Maccherone Carnegie Mellon CyLab

Larry Maccherone Carnegie Mellon CyLab 1 What do building construction and software engineering have in common? Larry Maccherone Manager of Software Assurance Initiatives CyLab - Carnegie Mellon 2 Creating secure software is like constructing

More information

Test Automation Strategies in Continuous Delivery. Nandan Shinde Test Automation Architect (Tech CoE) Cognizant Technology Solutions

Test Automation Strategies in Continuous Delivery. Nandan Shinde Test Automation Architect (Tech CoE) Cognizant Technology Solutions Test Automation Strategies in Continuous Delivery Nandan Shinde Test Automation Architect (Tech CoE) Cognizant Technology Solutions The world of application is going through a monumental shift.. Evolving

More information

TECNIA INSTITUTE OF ADVANCED STUDIES

TECNIA INSTITUTE OF ADVANCED STUDIES Assignment1(UNIT1) Paper Code:MCA301 Paper: Linux Programming (a) Command to select from a file : a) lines 5 to 10 b) last 2 lines. (b) Useradd command. (c) CP command. (d) Command to display lines common

More information

Best Practices in Programming

Best Practices in Programming Best Practices in Programming from B. Kernighan & R. Pike, The Practice of Programming Giovanni Agosta Piattaforme Software per la Rete Modulo 2 Outline 1 2 Macros and Comments 3 Algorithms and Data Structures

More information

Advanced Software Engineering: Software Testing

Advanced Software Engineering: Software Testing Advanced Software Engineering: Software Testing COMP 3705(L4) Sada Narayanappa Anneliese Andrews Thomas Thelin Carina Andersson Web: http://www.megadatasys.com Assisted with templates News & Project News

More information

QMS ISO 9001:2015 CERTIFIED COMPANY Software Testing TRAINING.

QMS ISO 9001:2015 CERTIFIED COMPANY Software Testing TRAINING. QMS ISO 9001:2015 CERTIFIED COMPANY Software Testing TRAINING www.webliquidinfotech.com What you Learn: What is Software Testing? Why Testing is Important? Scope of Software Testing Objectives of Software

More information

VIEW POINT. Choosing the right automation tool and framework is critical to project success. Harsh Bajaj, Technical Test Lead ECSIVS, Infosys

VIEW POINT. Choosing the right automation tool and framework is critical to project success. Harsh Bajaj, Technical Test Lead ECSIVS, Infosys VIEW POINT Choosing the right automation tool and framework is critical to project success Harsh Bajaj, Technical Test Lead ECSIVS, Infosys Introduction Organizations have become cognizant of the crucial

More information

AN ISO 9001:2008 CERTIFIED COMPANY. Software Testing TRAINING.

AN ISO 9001:2008 CERTIFIED COMPANY. Software Testing TRAINING. AN ISO 9001:2008 CERTIFIED COMPANY Software Testing TRAINING www.webliquids.com ABOUT US Who we are: WebLiquids is an ISO (9001:2008), Google, Microsoft Certified Advanced Web Educational Training Organisation.

More information

(Complete Package) We are ready to serve Latest Testing Trends, Are you ready to learn? New Batches Info

(Complete Package) We are ready to serve Latest Testing Trends, Are you ready to learn? New Batches Info (Complete Package) WEB APP TESTING DB TESTING We are ready to serve Latest Testing Trends, Are you ready to learn? New Batches Info START DATE : TIMINGS : DURATION : TYPE OF BATCH : FEE : FACULTY NAME

More information

Technology Background Development environment, Skeleton and Libraries

Technology Background Development environment, Skeleton and Libraries Technology Background Development environment, Skeleton and Libraries Christian Kroiß (based on slides by Dr. Andreas Schroeder) 18.04.2013 Christian Kroiß Outline Lecture 1 I. Eclipse II. Redmine, Jenkins,

More information

Quality Assurance & Standards

Quality Assurance & Standards Quality Assurance & Standards PSD3 Nov 2013 1 Overview Quality Assurance (QA)» checking what we are producing QA standards» checking the checking 2 Further Reading Sommerville» 9 th Edition, Chap. 24»

More information

Class 1 Introduction to Selenium, Software Test Life Cycle.

Class 1 Introduction to Selenium, Software Test Life Cycle. Class 1 Introduction to Selenium, Software Test Life Cycle. I) Introduction to Selenium 1) What is Selenium? 2) History of the Selenium Project 3) Selenium Components / Selenium s Tool Suite 4) Platforms

More information

Three General Principles of QA. COMP 4004 Fall Notes Adapted from Dr. A. Williams

Three 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 information

Marie Walsh ANZTB. Advancing Expertise in Software Testing. ANZTB Test 2013: Advancing Expertise in Software Testing. 6 June 2013

Marie Walsh ANZTB. Advancing Expertise in Software Testing. ANZTB Test 2013: Advancing Expertise in Software Testing. 6 June 2013 Marie Walsh ANZTB Advancing Expertise in Presenter: Marie Walsh June 2013 Canberra, Australia 1 From The Business? From Development? Graduate? Electrical Engineering? Other? from to Phase Description -

More information

Testing Exceptions with Enforcer

Testing Exceptions with Enforcer Testing Exceptions with Enforcer Cyrille Artho February 23, 2010 National Institute of Advanced Industrial Science and Technology (AIST), Research Center for Information Security (RCIS) Abstract Java library

More information

SE420 Software Quality Assurance

SE420 Software Quality Assurance SE420 Software Quality Assurance http://www.stsc.hill.af.mil/resources/tech_docs/gsam4.html Lecture 8 I&T Test Cases July 2, 2015 Sam Siewert Reminders Assignment #4 Posted Today I&T Focus Remaining Assignments

More information

SE310 Analysis and Design of Software Systems

SE310 Analysis and Design of Software Systems SE310 Analysis and Design of Software Systems Lecture 2 OO Examples and Process Introduction January 8, 2015 Sam Siewert Overall Learning Objectives What to Build? Requirements as Capabilities Methods

More information

Static Analysis in C/C++ code with Polyspace

Static Analysis in C/C++ code with Polyspace 1 Static Analysis in C/C++ code with Polyspace Yongchool Ryu Application Engineer gary.ryu@mathworks.com 2016 The MathWorks, Inc. 2 Agenda Efficient way to find problems in Software Category of Static

More information

Case Study: The Evolution of EMC s Product Security Office. Dan Reddy, CISSP, CSSLP EMC Product Security Office

Case Study: The Evolution of EMC s Product Security Office. Dan Reddy, CISSP, CSSLP EMC Product Security Office Case Study: The Evolution of EMC s Product Security Office Dan Reddy, CISSP, CSSLP EMC Product Security Office 1 The Evolution of EMC Product Security 2000-2004 2005-2009 2010-Beyond External Drivers Hackers

More information

Software Quality Assurance

Software Quality Assurance Arizona Information Technology Skills Training Initiative (AITSTI) Software Quality Assurance Bob Fowler Oris Friesen January 14, 2009 Table of Contents Introduction Software Development Software Quality

More information

An Automated Testing Environment to support Operational Profiles of Software Intensive Systems

An Automated Testing Environment to support Operational Profiles of Software Intensive Systems An Automated Testing Environment to support Operational Profiles of Software Intensive Systems Abstract: Robert S. Oshana Raytheon Systems Company oshana@raytheon.com (972)344-783 Raytheon Systems Company

More information

Chapter 9 Quality and Change Management

Chapter 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 information

Week 10 Tuesday. CS 400 Programming III. X-Team Exercise #4: due before 10pm on April 16th

Week 10 Tuesday. CS 400 Programming III. X-Team Exercise #4: due before 10pm on April 16th Week 10 Tuesday X-Team Exercise #4: due before 10pm on April 16th Team Project: Tournament-Bracket (D-Team 30pts) Milestone #1: due before 10pm April 20 th (A-Team 20pts) Milestone #2: due before 10pm

More information

Pearson Education 2007 Chapter 9 (RASD 3/e)

Pearson 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 information

AMath 483/583 Lecture 2

AMath 483/583 Lecture 2 AMath 483/583 Lecture 2 Outline: Binary storage, floating point numbers Version control main ideas Client-server version control, e.g., CVS, Subversion Distributed version control, e.g., git, Mercurial

More information

CSE 374 Programming Concepts & Tools. Hal Perkins Fall 2015 Lecture 15 Testing

CSE 374 Programming Concepts & Tools. Hal Perkins Fall 2015 Lecture 15 Testing CSE 374 Programming Concepts & Tools Hal Perkins Fall 2015 Lecture 15 Testing Where we are Some very basic software engineering topics in the midst of tools Today: testing (how, why, some terms) Later:

More information

Continuous Integration and Deployment (CI/CD)

Continuous Integration and Deployment (CI/CD) WHITEPAPER OCT 2015 Table of contents Chapter 1. Introduction... 3 Chapter 2. Continuous Integration... 4 Chapter 3. Continuous Deployment... 6 2 Chapter 1: Introduction Apcera Support Team October 2015

More information

AMath 483/583 Lecture 2. Notes: Notes: Homework #1. Class Virtual Machine. Notes: Outline:

AMath 483/583 Lecture 2. Notes: Notes: Homework #1. Class Virtual Machine. Notes: Outline: AMath 483/583 Lecture 2 Outline: Binary storage, floating point numbers Version control main ideas Client-server version control, e.g., CVS, Subversion Distributed version control, e.g., git, Mercurial

More information

Simulation-based Test Management and Automation Sang-Ho Yoon Senior Application Engineer

Simulation-based Test Management and Automation Sang-Ho Yoon Senior Application Engineer 1 Simulation-based Test Management and Automation Sang-Ho Yoon Senior Application Engineer 2016 The MathWorks, Inc. 2 Today s Agenda Verification Activities in MBD Simulation-Based Test Manage and Automate

More information

Key Features. Defect Rates. Traditional Unit testing: 25 faults / KLOC System testing: 25 / KLOC Inspections: / KLOC

Key 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 information

Mind Q Systems Private Limited

Mind 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 information

CSE 303, Winter 2006, Final Examination 16 March Please do not turn the page until everyone is ready.

CSE 303, Winter 2006, Final Examination 16 March Please do not turn the page until everyone is ready. CSE 303, Winter 2006, Final Examination 16 March 2006 Please do not turn the page until everyone is ready. Rules: The exam is closed-book, closed-note, except for one side of one 8.5x11in piece of paper.

More information

Code review guide. Notice: Read about the language that you will test its code, if you don t have an idea about the language this will be difficult.

Code review guide. Notice: Read about the language that you will test its code, if you don t have an idea about the language this will be difficult. Code review guide Author: Jameel Nabbo Website: www.jameelnabbo.com Table of contents Introduction Code review Checklist Steps to perform on code review task Tips for code review Starting the Code review

More information

CS A331 Programming Language Concepts

CS A331 Programming Language Concepts CS A331 Programming Language Concepts Lecture 4 Programming Language Semantics and Code Generation February 3, 2014 Sam Siewert PLP Companion Materials CD-ROM is On-Line: http://booksite.elsevier.com/9780123745149/?isbn=978

More information

Gradational conception in Cleanroom Software Development

Gradational conception in Cleanroom Software Development Gradational conception in Cleanroom Software Development Anshu Sharma 1 and Shilpa Sharma 2 1 DAV Institute of Engineering and Technology, Kabir Nagar, Jalandhar, India 2 Lovely Professional University,

More information

The Power of Unit Testing and it s impact on your business. Ashish Kumar Vice President, Engineering

The Power of Unit Testing and it s impact on your business. Ashish Kumar Vice President, Engineering The Power of Unit Testing and it s impact on your business Ashish Kumar Vice President, Engineering Agitar Software, 2006 1 The Power of Unit Testing Why Unit Test? The Practical Reality Where do we go

More information

Testing and Debugging C Programming and Software Tools. N.C. State Department of Computer Science

Testing and Debugging C Programming and Software Tools. N.C. State Department of Computer Science Testing and Debugging C Programming and Software Tools N.C. State Department of Computer Science Introduction Majority of software development is testing, debugging, and bug fixing The best software developers

More information

SE310 Analysis and Design of Software Systems

SE310 Analysis and Design of Software Systems SE310 Analysis and Design of Software Systems Lecture 3 Systems Requirements January 21, 2015 Sam Siewert Learning Objective Software Engineering Process? Lifecycle Phases feedback SPIRAL WATERFALL XP

More information

Week 11. CS 400 Programming III. Program 4: due before 10pm on Monday 11/19

Week 11. CS 400 Programming III. Program 4: due before 10pm on Monday 11/19 Week 11 Program 4: due before 10pm on Monday 11/19 Team Project: Food Query and Meal Analysis (D-Team 30pts) Milestone #1: due before 10pm Nov 16 th (A-Team 20pts) Milestone #2: due before 10pm Nov 26

More information

CSE 374 Programming Concepts & Tools

CSE 374 Programming Concepts & Tools CSE 374 Programming Concepts & Tools Hal Perkins Fall 2017 Lecture 11 gdb and Debugging 1 Administrivia HW4 out now, due next Thursday, Oct. 26, 11 pm: C code and libraries. Some tools: gdb (debugger)

More information

L25: Modern Compiler Design Exercises

L25: Modern Compiler Design Exercises L25: Modern Compiler Design Exercises David Chisnall Deadlines: October 26 th, November 23 th, November 9 th These simple exercises account for 20% of the course marks. They are intended to provide practice

More information

Basic Training in Software Testing (2 Days)

Basic Training in Software Testing (2 Days) www.peaklearningllc.com Basic Training in Software Testing (2 Days) This is a practical hands-on seminar to cover the critical path of testing. Your instructor will be an experienced practitioner in the

More information

Don t Be the Developer Whose Rocket Crashes on Lift off LDRA Ltd

Don t Be the Developer Whose Rocket Crashes on Lift off LDRA Ltd Don t Be the Developer Whose Rocket Crashes on Lift off 2015 LDRA Ltd Cost of Software Defects Consider the European Space Agency s Ariane 5 flight 501 on Tuesday, June 4 1996 Due to an error in the software

More information

Mind Q Systems Private Limited

Mind Q Systems Private Limited Software Testing Tools Course Content for Online Training Manual Testing Introduction Introduction to software Testing Software Development Process Project Vs Product Objectives of Testing Testing Principals

More information

Computer 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 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 information

(Objective-CS605 Software Engeenring-II)

(Objective-CS605 Software Engeenring-II) Which one of the following is NOT a useful indicator of software quality? Correctness Code size (Page 67) Maintainability Integrity Usability Which one of the following does not belong to a strategy for

More information

Software Engineering

Software Engineering Software Engineering Lecture 15: Testing and Debugging Debugging Peter Thiemann University of Freiburg, Germany SS 2014 Motivation Debugging is unavoidable and a major economical factor Software bugs cost

More information

Certified Software Quality Engineer Preparation On Demand, Web-Based Course Offered by The Westfall Team

Certified Software Quality Engineer Preparation On Demand, Web-Based Course Offered by The Westfall Team Certified Software Quality Engineer (CSQE) Preparation course is an on demand, web-based course design to be a comprehensive, in-depth review of the topics in the ASQ s Certified Software Quality Engineer

More information

Revision Control. An Introduction Using Git 1/15

Revision Control. An Introduction Using Git 1/15 Revision Control An Introduction Using Git 1/15 Overview 1. What is revision control? 2. 30,000 foot view 3. Software - git and gitk 4. Setting up your own repository on onyx 2/15 What is version control?

More information

Manual Testing. Software Development Life Cycle. Verification. Mobile Testing

Manual 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 information

Testing. ECE/CS 5780/6780: Embedded System Design. Why is testing so hard? Why do testing?

Testing. 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 information

Automated Testing of Tableau Dashboards

Automated Testing of Tableau Dashboards Kinesis Technical Whitepapers April 2018 Kinesis CI Automated Testing of Tableau Dashboards Abstract Companies make business critical decisions every day, based on data from their business intelligence

More information

Software Engineering Practices. PHY 604: Computational Methods in Physics and Astrophysics II

Software Engineering Practices. PHY 604: Computational Methods in Physics and Astrophysics II Software Engineering Practices Class Business Our class website has all the lectures and examples: http://bender.astro.sunysb.edu/classes/numerical_methods/ We will use git / github to turn in our homework

More information

It is primarily checking of the code and/or manually reviewing the code or document to find errors This type of testing can be used by the developer

It is primarily checking of the code and/or manually reviewing the code or document to find errors This type of testing can be used by the developer Static testing Static testing is a software testing method that involves examination of the program's code and its associated documentation but does not require the program be executed. Dynamic testing,

More information

Software configuration management

Software configuration management Software Engineering Theory Software configuration management Lena Buffoni/ Kristian Sandahl Department of Computer and Information Science 2017-03-27 2 Maintenance Requirements System Design (Architecture,

More information

Software Engineering Practices. PHY 688: Numerical Methods for (Astro)Physics

Software Engineering Practices. PHY 688: Numerical Methods for (Astro)Physics Software Engineering Practices Class Business Does everyone have access to a Linux or Unix machine to work from? What programming languages do each of you typically use? Software Engineering Practices

More information

Testing! The material for this lecture is drawn, in part, from! The Practice of Programming (Kernighan & Pike) Chapter 6!

Testing! The material for this lecture is drawn, in part, from! The Practice of Programming (Kernighan & Pike) Chapter 6! Testing The material for this lecture is drawn, in part, from The Practice of Programming (Kernighan & Pike) Chapter 6 1 Words from the Wise On two occasions I have been asked [by members of Parliament],

More information

CS 4218 Software Testing and Debugging Ack: Tan Shin Hwei for project description formulation

CS 4218 Software Testing and Debugging Ack: Tan Shin Hwei for project description formulation CS 4218 Software Testing and Debugging Ack: Tan Shin Hwei for project description formulation The Project CS 4218 covers the concepts and practices of software testing and debugging. An important portion

More information

Programming in Python

Programming in Python COURSE DESCRIPTION This course presents both the programming interface and the techniques that can be used to write procedures in Python on Unix / Linux systems. COURSE OBJECTIVES Each participant will

More information

FRESHER TRAINING PROGRAM [MANUAL/QTP/ALM/QC/SE/LR/DB/ANDROID] COURSE OVERVIEW

FRESHER TRAINING PROGRAM [MANUAL/QTP/ALM/QC/SE/LR/DB/ANDROID] COURSE OVERVIEW FRESHER TRAINING PROGRAM [MANUAL/QTP/ALM/QC/SE/LR/DB/ANDROID] Software Testing COURSE OVERVIEW Manual Concepts Software Testing Concepts What is software Testing Objective of software Testing Importance

More information

Implementing A Final Regression Testing Process

Implementing A Final Regression Testing Process Implementing A Final Regression ing Process Jeff Tatelman SQuAD Conference 2007 March 15th, 2007 Final Regression ing Definition The testing of software after a modification has been made to ensure that

More information

Chapter 10. Testing and Quality Assurance

Chapter 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 information

The future of dynamic languages. Gabor Szabo Perl Training Israel - Raz Information Systems -

The future of dynamic languages. Gabor Szabo Perl Training Israel   - Raz Information Systems - The future of dynamic languages Gabor Szabo Perl Training Israel Raz Information System gabor@pti.co.il www.pti.co.il www.raz.co.il Dynamic Languages PHP Tcl Python Ruby Perl... PHP First version in 1995

More information

Manuel Oriol, CHCRC-C, Software Testing ABB

Manuel 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 information

Shift Left Testing: are you ready? Live Webinar, Sept 19

Shift Left Testing: are you ready? Live Webinar, Sept 19 Shift Left Testing: are you ready? Live Webinar, Sept 19 Guy Arieli CTO, Experitest 01 What exactly is Shift Left? Agenda 02 03 How Shift Left affects application development & testing organizational structures

More information

This assignment requires that you complete the following tasks (in no particular order).

This assignment requires that you complete the following tasks (in no particular order). Construction Objectives The objectives of this assignment are: (1) Implement your FCS design with high-quality code and thorough unit tests (2) Gain experience doing a task breakdown (3) Gain experience

More information

CIT 380: Securing Computer Systems. Software Security

CIT 380: Securing Computer Systems. Software Security CIT 380: Securing Computer Systems Software Security Topics 1. The problem of software security 2. System security standards 3. Secure lifecycle 4. Buffer overflows 5. Integer overflows 6. Format string

More information

By Matthew Noonan, Project Manager, Resource Group s Embedded Systems & Solutions

By Matthew Noonan, Project Manager, Resource Group s Embedded Systems & Solutions Building Testability into FPGA and ASIC Designs By Matthew Noonan, Project Manager, Resource Group s Embedded Systems & Solutions Introduction This paper discusses how the architecture for FPGAs and ASICs

More information

Software Testing. An Overview

Software Testing. An Overview Software Testing An Overview Software Testing Defined Software testing is the process of verifying & validating that a program or application: Meets technical specifications Meets business requirements

More information

Software Development I

Software Development I 6.148 Software Development I Two things How to write code for web apps. How to collaborate and keep track of your work. A text editor A text editor A text editor Anything that you re used to using Even

More information

CS 220: Introduction to Parallel Computing. Beginning C. Lecture 2

CS 220: Introduction to Parallel Computing. Beginning C. Lecture 2 CS 220: Introduction to Parallel Computing Beginning C Lecture 2 Today s Schedule More C Background Differences: C vs Java/Python The C Compiler HW0 8/25/17 CS 220: Parallel Computing 2 Today s Schedule

More information

1 Visible deviation from the specification or expected behavior for end-user is called: a) an error b) a fault c) a failure d) a defect e) a mistake

1 Visible deviation from the specification or expected behavior for end-user is called: a) an error b) a fault c) a failure d) a defect e) a mistake Sample ISTQB examination 1 Visible deviation from the specification or expected behavior for end-user is called: a) an error b) a fault c) a failure d) a defect e) a mistake 2 Regression testing should

More information

Program Verification! Goals of this Lecture! Words from the Wise! Testing!

Program Verification! Goals of this Lecture! Words from the Wise! Testing! Words from the Wise Testing On two occasions I have been asked [by members of Parliament], Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out? I am not able rightly

More information

Commit Guru: Analytics and Risk Prediction of Software Commits

Commit Guru: Analytics and Risk Prediction of Software Commits Commit Guru: Analytics and Risk Prediction of Software Commits Christoffer Rosen, Ben Grawi Department of Software Engineering Rochester Institute of Technology Rochester, NY, USA {cbr4830, bjg1568}@rit.edu

More information

Hardware Design and Simulation for Verification

Hardware Design and Simulation for Verification Hardware Design and Simulation for Verification by N. Bombieri, F. Fummi, and G. Pravadelli Universit`a di Verona, Italy (in M. Bernardo and A. Cimatti Eds., Formal Methods for Hardware Verification, Lecture

More information

EECS 4313 Software Engineering Testing. Topic 01: Limits and objectives of software testing Zhen Ming (Jack) Jiang

EECS 4313 Software Engineering Testing. Topic 01: Limits and objectives of software testing Zhen Ming (Jack) Jiang EECS 4313 Software Engineering Testing Topic 01: Limits and objectives of software testing Zhen Ming (Jack) Jiang Acknowledge Some of the contents are from Prof. Alex Orso, Bil Tzerpos and Gunnar Gotshalks

More information

Introduction to Python. Didzis Gosko

Introduction to Python. Didzis Gosko Introduction to Python Didzis Gosko Scripting language From Wikipedia: A scripting language or script language is a programming language that supports scripts, programs written for a special run-time environment

More information

Merge Conflicts p. 92 More GitHub Workflows: Forking and Pull Requests p. 97 Using Git to Make Life Easier: Working with Past Commits p.

Merge Conflicts p. 92 More GitHub Workflows: Forking and Pull Requests p. 97 Using Git to Make Life Easier: Working with Past Commits p. Preface p. xiii Ideology: Data Skills for Robust and Reproducible Bioinformatics How to Learn Bioinformatics p. 1 Why Bioinformatics? Biology's Growing Data p. 1 Learning Data Skills to Learn Bioinformatics

More information

Practical Objects: Test Driven Software Development using JUnit

Practical Objects: Test Driven Software Development using JUnit 1999 McBreen.Consulting Practical Objects Test Driven Software Development using JUnit Pete McBreen, McBreen.Consulting petemcbreen@acm.org Test Driven Software Development??? The Unified Process is Use

More information

Testing Tools. Software Testing and Verification. Lecture 14. Stephen M. Thebaut, Ph.D. Prepared by. University of Florida

Testing Tools. Software Testing and Verification. Lecture 14. Stephen M. Thebaut, Ph.D. Prepared by. University of Florida Testing Tools Software Testing and Verification Lecture 14 Prepared by Stephen M. Thebaut, Ph.D. University of Florida Overview of Topics Why is test automation desirable? Types of test automation test

More information

ECE 587 Hardware/Software Co-Design Lecture 11 Verification I

ECE 587 Hardware/Software Co-Design Lecture 11 Verification I ECE 587 Hardware/Software Co-Design Spring 2018 1/23 ECE 587 Hardware/Software Co-Design Lecture 11 Verification I Professor Jia Wang Department of Electrical and Computer Engineering Illinois Institute

More information

Catch Your Own Bugs: Including all Engineers in the Automation Cycle

Catch Your Own Bugs: Including all Engineers in the Automation Cycle Catch Your Own Bugs: Including all Engineers in the Automation Cycle Laura Bright McAfee, Inc. Laura_Bright@mcafee.com October 9, 2012 Introduction End-to-end automation frameworks provide many benefits

More information