1 / 45

Anthony Borton | ALM Consultant, Enhance ALM

06 | Develop Customer Value with High Quality. Anthony Borton | ALM Consultant, Enhance ALM Steven Borg | Co-founder & Strategist, Northwest Cadence. Module Overview. Define code quality indicators Incorporate unit testing Develop code Validate quality Customize a team project.

owen-ross
Download Presentation

Anthony Borton | ALM Consultant, Enhance ALM

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. 06 | Develop Customer Value with High Quality Anthony Borton | ALM Consultant, Enhance ALM Steven Borg | Co-founder & Strategist, Northwest Cadence

  2. Module Overview • Define code quality indicators • Incorporate unit testing • Develop code • Validate quality • Customize a team project

  3. Define code quality indicators

  4. What the Study Guide says… • Define code quality indicators • performing code review, including security and performance analysis • analyzingcode for common defects • calculating code coverage • performing architecture validation

  5. Code reviews • Full workflow backed Code review experience • Send requests to one or more team members • Great new Diff experience • Inline mode • Side-by-Side mode • Line highlighting including sub-line highlighting • Full Intellisense within Diff Tool • Accept or decline code review requests from others

  6. Requesting a code review

  7. Accepting and responding

  8. Code reviews

  9. Incorporate unit testing

  10. What the Study Guide says… • Incorporate unit testing • establishing unit test standards • developing a strategy for adding unit tests to existing applications • selecting the unit test type • establishing the code coverage target

  11. Unit Testing Architecture Visual Studio Unit Test Explorer Command Line Runner TeamBuild Unit Test Activity Visual Studio Unit Test Platform MS-Test Managed MS-Test Native NUnit xUnit.net QUnit MORE!

  12. Developer Focused Unit Test Experience Search Red-Green Bar Most important tests shown first Timings Shows tests from any framework Run Details

  13. Code coverage in VS2012 • Analyze your code coverage with a single click • Analyze for selected tests to help find how specific tests are covering your system • Supports native code (via the MS-Test Native framework) • Works with third party managed & native frameworks

  14. Code Clone Analysis • New feature in Visual Studio 2012 • Looks for semantically similar code using a heuristic search technique • More than just simply searching for exact matches

  15. Unit Testing

  16. Develop code

  17. What the Study Guide says… • Develop code • developing maintainable code • defining coding standards • defining application architecture • defining configuration management process and tooling (source control tree, branching strategy, solution structure, source control/check-in policy)

  18. Branching Guidance • ALM Rangers Guidance Document • http://vsarbranchingguide.codeplex.com/

  19. Branching, solution structure and check-in policies

  20. Validate quality

  21. What the Study Guide says… • Validate quality • organizing test artifacts such as test cases, suites, plans, and requirements • defining test strategy • managing test execution • identifying test types and associated tools • identifying and configuring environments • Analyzingtest runs

  22. Test Plans • Test plans allow you to group your test suites, test cases and configurations into a convenient group Test Plan Test Suites TEST SUITE A TEST SUITE B TEST SUITE C TESTCASES TESTCASES TESTCASES Test Configurations XP and IE7 Vista and IE8 XP and IE8 Win2K8 and IE8

  23. Test Suites • Test suites are groups of related test cases • There are three types of Test Suites • Requirements based test suite • Static Test Suite • Query-based Test Suite

  24. Understanding each test type in Visual Studio • In this section we’ll look at each of the following type types • Unit tests • Manual tests • Coded UI tests • Ordered tests • Generic tests • Web performance tests • Load tests

  25. Unit tests • Written by programmers for use by programmers • Can be run manually or automatically, usually as part of a build process. (Eg. Continuous Integration) • Become a form of code documentation by detailing the behaviour of application logic

  26. Manual tests • Are lists of steps to be manually performed by a tester • Manual tests are created as Test Case work items in Team Foundation Server • Contain expected results that a manual tester must choose to pass or fail • Manual tests are primarily worked on using Microsoft Test Manager (MTM)

  27. Coded UI tests • Automated tests of the user interface (UI) are known as coded UI tests. • Provide functional testing of the UI and validation of UI controls. • You can create coded UI tests to determine that the UI is functioning correctly after code changes. • Can be created by recording your actions or from an action recording on a manual test

  28. Ordered tests • An ordered test contains other tests that are meant to be run in a specified order. • Each test is self-contained and independent. • Environment state is not retained between each test that is run. • Do not use an ordered test in which any of the tests have dependencies on the outcome of previous tests in the ordered test.

  29. Generic tests • Generic tests call external programs and tests. • Use a generic test to wrap an existing test, program, or third-party tool that behaves as follows: • It can be run from a command line. • It returns a value of Pass or Fail.

  30. Load testing • Used to ensure your web application performs as expected under a range of user loads. • Can be used for smoke, load and stress testing. • Visual Studio monitors the system under test and can provide an enormous amount of data. • Understanding Performance Monitor counters is required to really interpret the test results .

  31. Web Performance Testing • Repeatable tests that drive a web application using the HTTP layer. • Recorded using a web browser but executed using network classes. • You can analyse the HTTP response. • Primarily used as the building blocks for Load Tests. • Should not be confused with Coded UI Tests.

  32. Microsoft Test Manager • The Microsoft Test Manager (MTM) comprises two Activity Centers; • Testing Center • Work with manual test cases • Lab Center • Allows you to work with physical or virtual lab environments • Switch between the two parts using the Activity Center drop down

  33. Organizing test artefacts in Microsoft Test Manager

  34. Customize a team project

  35. What the Study Guide says… • Customize a team project • customizing a Work Item • customizing Work Item Queries • customizing Team Portal • identifying areas and iterations • managing roles and associated permissions

  36. What is a Process Template? • The template TFS uses when creating new Team Projects • Defines key aspects of a team project such as work item types, queries and reports • You can choose a process template during the project creation wizard • While some aspects of the process can be changed after a project has been created, you can’t simply change from one process template to another after the project has been created

  37. Template Architecture • Process Template Composition • New Team Project Wizard • used by project leads to create a new team project • XML Process definition files • a set of tasks that must run to correctly configure a new team project for the process. Build Classifications Group and Permissions Lab Reports Test Management Version Control Windows SharePoint Services WorkItem Tracking

  38. Available templates • There are three out-of-the-box templates (at RTM) • Microsoft Visual Studio Scrum 2.0 • MSF for Agile Software Development 6.0 • MSF for CMMI Process Improvement 6.0 • While the Scrum and Agile templates are similar, the CMMI template is based on a different MSF process with a different philosophical approach to software development.

  39. Tips before you begin • Process Template customisation should be planned and well considered before starting • Always test templates on non-production TFS server instances BEFORE uploading to a production server • Avoid changes for the sake of change • Manage template files in the same way you would work with .NET source code. • Store in TFS Source repository • Adopt branching/labelling practises to track versions

  40. The customisation process • Download the default process template that you are either currently using or that most closely matches what you want • Rename the template (Important) • Make a few small changes at a time • Verify your changes as you go • Upload to a non-production server to test • Create a new team project using your template • Verify the changes you have made are correct

  41. Downloading a template

  42. ProcessTemplate.xml Step 1: Change the template name Step 2: Change the template description Step 3: Change the GUID and version numbers

  43. Getting started with editing process templates

  44. EXAM BEST BETS • While you do not generally need to know the specifics of how to use every quality tool, make sure you know; • what they are • what value they offer • what problems/issues they can solve • You don’t need to know everything about template customization but have a good general knowledge

More Related