QA08 - Assuring Software Quality Using Visual Studio Team ...


Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

QA08 - Assuring Software Quality Using Visual Studio Team ...

  1. 1.   A S S U R IN G S O F T W A R E Q U A L IT Y U S IN G V IS U A L S T U D IO T E A M S Y S T E M 2 0 0 8 QA08 (3 Days) This three-day, instructor-led course provides students with the knowledge and skills to detect, manage, and avoid software defects during the application development life cycle using Visual Studio Team System 2008.         AT COURSE COMPLETION  AUDIENCE         UNDERSTAND SOFTWARE QUALITY ASSURANCE CONCEPTS  This course is intended for developers,    • Understand the importance of software quality assurance  testers, and other QA professionals who are  • Use techniques to detect and avoid defects  involved in defining, assuring, and increasing    • Understand software acceptance testing  the overall quality of a software application.  • Manage test cases and test plans    UNDERSTAND VISUAL STUDIO TEAM SYSTEM  • Know how Visual Studio Team System supports QA    • Choose the appropriate test type in a test project  • Use the test list, test view, and test results windows  PREREQUISITES    LEARN SPECIFIC TECHNIQUES      • Ensure and control the quality of .NET code through unit testing,  The ideal student for this course should have  code coverage, code analysis, and code metrics  experience in developing and/or testing    • Ensure and control the quality of SQL Server code through  .NET, web, or SQL Server database  database unit testing and data generation plans    • applications. It would also be beneficial if  Ensure and control the quality of web applications through  automated web testing  the student has worked on a team‐based    • Profile an application to identify performance issues  software development project and is  • Ensure applications meet quality of service requirements  familiar with their organization’s Software    • Use manual tests to validate business requirements    • Use unit tests to perform acceptance testing  • Use generic tests to reuse existing testing tools    • Create, manage, and report software defects                LECTURE / HANDS‐ON LAB BALANCE  AUTOMATE TESTING    • Configure automated tests to be data driven      • Place automated tests under load  Lesson    • 50%   Understand test controllers, load test agents, and rigs  Labs  • Use check‐in policies to ensure quality      50% • Use Team Foundation Build to perform automated builds  • Enable continuous integration to support regression testing  731 Troutner Way | Boise, Idaho 83712 | USA | Phone 208.319.4142 | Fax 877.206.1671 |
  2. 2. MODULE 1: INTRODUCTION TO SOFTWARE QUALITY ASSURANCE    This module introduces the student to the concepts of Quality Assurance (QA) and Quality Control (QC) and how they  relate to avoiding and detecting software defects. Topics include the principles around QA and QC, traditional testing  approaches, test‐driven development, and common testing scenarios in the software development life cycle.  Lessons  • Introduction to quality assurance and quality control  • Traditional testing  • Test Driven Development (TDD)  • QA support in Visual Studio Team System  • Storyboard – how to plan tests  • Storyboard – how to manage test cases  • Storyboard – how to achieve traceability to requirements    Demos    • Scenario 1 – Traditional testing  • Scenario 2 – Test Driven Development    MODULE 2: ASSURING SOFTWARE QUALITY IN TEAM SYSTEM    This module introduces Team Foundation Server and its support for the software development life cycle, focusing on  team communication around quality assurance. Topics include an introduction to team projects, process templates,  creating and managing work items, using version control, and the applicable process and product quality reports.  Lessons  • Introduction to Team Foundation Server  • Team projects  • Process templates  • Work items  • Project portal  • Version control  • Reports    Lab  • Create and configure a team project, configure version control, upload and manage various testing‐related  documents, and create and manage work items for our lab scenario      731 Troutner Way | Boise, Idaho 83712 | USA | Phone 208.319.4142 | Fax 877.206.1671 |
  3. 3. MODULE 3: WORKING WITH TEST PROJECTS    This module introduces the testing features and support found in the various editions of Visual Studio 2008. Topics  include an introduction to test projects, test types, test lists, running tests, and managing test results.  Lessons  • Testing support in Visual Studio  • Test projects  • Test types  • Test lists  • Ordered tests  • Running tests  • Managing test results    Lab  • Create a test project, run pre‐built tests, and evaluate the test results    MODULE 4: ENSURING THE QUALITY OF .NET CODE    This module focuses on ensuring the quality of .NET code. Topics include features found in the Development Edition of  Visual Studio Team System, specifically: unit testing, code coverage, data‐driven testing, code analysis, code metrics, and  techniques to extend your unit tests.  Lessons  • Areas of a .NET application that should be tested  • Unit testing  • Writing and running unit tests  • Testing private methods  • Data‐driven unit tests  • Code coverage  • Code analysis  • Code metrics  • nUnit migration/integration  • Using mock objects  • Techniques for avoiding defects in .NET code    Lab  • Write and run various unit tests, calculate code coverage, perform code analysis, compute code metrics, integrate  with nUnit and Rhino Mocks      731 Troutner Way | Boise, Idaho 83712 | USA | Phone 208.319.4142 | Fax 877.206.1671 |
  4. 4. MODULE 5: ENSURING THE QUALITY OF SQL SERVER CODE    This module focuses on ensuring the quality of SQL Server code. Topics include features found in the Database Edition of  Visual Studio Team System, specifically: database unit tests, testing stored procedures, testing functions, testing triggers,  writing and running unit tests, and loading test data prior to testing.  Lessons  • Areas of a SQL Server database that should be tested   • Database unit tests explained   • Writing and running database unit tests   • Testing stored procedures  • Testing functions  • Testing triggers  • Loading test data prior to testing  • Techniques for avoiding defects in SQL Server code    Lab  • Write and run various database unit tests and load test data prior to testing    MODULE 6: ENSURING THE QUALITY OF WEB APPLICATIONS    This module focuses on ensuring the quality and acceptance of web applications and services. Topics include features  found in the Test Edition of Visual Studio Team System, specifically: recording web tests, using extraction and validation  rules, testing AJAX components, advanced web testing techniques, and testing web services.  Lessons  • Areas of a web application that should be tested  • Web tests explained   • Recording and running web tests   • Extraction rules  • Validation rules  • Testing AJAX components  • Data‐driven web tests  • Coded web tests for branching and looping  • Extended web tests through plug‐ins  • Testing web services    Lab  • Record a web test, add extraction and validation rules, test AJAX components, drive a web test from a data source,  generate a coded web test, and test a web service      731 Troutner Way | Boise, Idaho 83712 | USA | Phone 208.319.4142 | Fax 877.206.1671 |
  5. 5. MODULE 7: ENSURING QUALITY OF SERVICE    This module focuses on ensuring the quality of service of an application in the areas of performance, load, and stress.  Topics include features found in the Development and Test Editions of Visual Studio Team System, specifically: load  tests, load testing a web test, load testing a unit test, analyzing load test results, and profiling application performance.  Lessons  • Introduction to quality of service  • Load tests explained  • Load patterns and models   • Creating and running load tests  • Controllers, agents, and rigs  • Distributed load tests  • Extended load tests through plug‐ins  • Application profiling    Lab  • Create and run load tests, analyze results based on different load patterns, install and configure a test load agent,  profile a slow performing application    MODULE 8: ENSURING SOFTWARE MEETS BUSINESS REQUIREMENTS    This module focuses on functional and acceptance testing topics, to ensure that business requirements were properly  implemented. Topics include: features found in the Test Edition of Visual Studio Team System, specifically: manual tests,  associating test results with requirements, using unit tests for acceptance testing, generic tests.  Lessons  • Introduction to acceptance testing  • User acceptance testing  • Manual tests explained  • Creating and running manual tests  • Associating test results with requirements  • Using unit tests for acceptance testing  • Generic tests explained    Lab  • Create and run manual tests to validate business requirements, run unit tests to validate business requirements,  create and run a manual test      731 Troutner Way | Boise, Idaho 83712 | USA | Phone 208.319.4142 | Fax 877.206.1671 |
  6. 6. MODULE 9: AUTOMATING QUALITY ASSURANCE    This module focuses on ways Visual Studio Team System 2008 can help assure the quality of your software  automatically. Topics include: check‐in policies, Team Foundation Build, build verification tests, continuous integration,  regression testing, and build quality.  Lessons  • Introduction to check‐in policies  • Testing check‐in policy  • Code analysis check‐in policy  • Custom path check‐in policy  • Team Foundation Build  • Creating and queuing builds  • Enabling build verification tests  • Regression testing  • Continuous integration  • Determining build quality    Lab  • Configure and use check‐in policies, create and run automated builds, configure build verification tests, configure  continuous integration, set build quality and notifications    MODULE 10: DEFECT TRACKING    This module focuses on the process of identifying, triaging, reporting, and managing defects. Topics include: bug work  item type, creating bug work items, triage, managing bug work items, and reporting.  Lessons  • Introduction to defect tracking  • Bugs vs. defects  • Creating and managing defects  • Querying and reporting defects    Lab  • Identify defects in running software, create and manage defect work items, monitor quality using queries and  reports  COURSE DESIGNER    This course was designed by Richard Hundhausen of Accentient, Inc. Richard is a Visual Studio Team System MVP and  Microsoft Regional Director, as well as an experienced developer and trainer.  For more information, visit  731 Troutner Way | Boise, Idaho 83712 | USA | Phone 208.319.4142 | Fax 877.206.1671 |