1 / 11

Software Quality Assurance and Testing

Software Quality Assurance and Testing. Course description. prof. A. C. (Alex) Telea. Overview of this document. For whom is this course Contents What you should know after Assignment Grading. For whom is this course. Software engineers (or people training to become one)

Télécharger la présentation

Software Quality Assurance and Testing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software Quality Assurance and Testing Course description prof. A. C. (Alex) Telea

  2. Overview of this document • For whom is this course • Contents • What you should know after • Assignment • Grading

  3. For whom is this course • Software engineers (or people training to become one) • Interested in testing and maintenance • What you should know before: • Software (detailed) design experience • Good in at least one (object-oriented) language • Experience with small…midsize software projects • What will you know after: • how to efficiently design and apply a test suite • how to measure testability, maintainability(and a few other software metrics)

  4. Contents • Several modules (subjects) • Mapping module-lecture not strictly 1-to-1 • Module 1: What is test engineering? • why do we need test engineering • how to model (and measure) quality • tests, bugs, errors, faults • testing from an economical perspective

  5. Contents (cont.) • Module 2: Static testing techniques • software reviews and inspections • deskchecks and walkthroughs • formal verification • automated static analysis • Module 3: Design and implementation practices • architecture vs design • design quality predictors • metrics (size, complexity, fan-in/out, cohesion, …) • how to interpret software metrics

  6. Contents (cont.) • Module 4: Structural (white box) testing • test categories (ordinary vs numerical code) • what to look for when testing • code coverage metrics (statement, branch, condition, path, loop, function, call, …) • testing strategies • Module 5: Behavioral (black box) testing • the need to reduce the # test cases • equivalence partitioning • boundary value analysis • timing and coordination

  7. Contents (cont.) • Module 6: Additional testing strategies • integration testing (drivers and stubs) • stress testing • system testing • when to stop testing • Module 7: Test Management • testing styles (pragmatic, pioneer, analysis, facilitating) • test planning • testing models and standards (cost of poor quality, TMap, TPI, TMM)

  8. Assignment • Grading based on a practical assignment: • You are given: • a real-world software tool (binary, source code, docs, input data) • You are asked to: • perform black-box (end-user level) and white-box (developer-level) testing on it • answer several specific questions on the testing and quality of the tool • write a report justifying all decisions made and obtained results

  9. Assignment (cont.) What the software does: Image inpainting + = target image scratch image result image • Your task: • apply what you learn in the course to this software system! • test the software (design and apply tests) • assess the quality of the software

  10. Assignment (cont.) • Way of working • Analyze the given software as if you were a real developer/tester in a real company • You can work in groups of max. two persons • you can use “pair programming” techniques • No lab sessions: software testing and quality assessment is not an “exercise”, but real individual work requiring time, patience, eye for detail • Be present at lectures: • many examples/details related to your project will be explained • you can ask questions on your assignment!

  11. Grading • Based on your report • just as done in a real company • so your report should be detailed, complete, realistic • Report to be handed in after course • exact (strict) deadline will be communicated during lecture • Where you find all needed information: • website: www.cs.rug.nl/~alext/SQAT • slides, assignment details, software to work on, references • book: • A Practitioner's Guide to Software Test Design (Lee Copeland; Artech House, 2003) • can find open-source versions (see books.google.com) • myself: a.c.telea@rug.nl

More Related