Export (0) Print
Expand All
This topic has not yet been rated - Rate this topic

Introduction

Retired Content

This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

 

patterns & practices Developer Center

Microsoft Corporation

January 2005

Summary: Introduction to .Net application blocks and test scope and objectives covered in this guide.

Contents

Overview

Why We Wrote This Guide

Scope of This Guide

Audience

How to Use This Guide

The Team Who Brought You This Guide

Contributors and Reviewers

Summary

Appendix

Overview

Testing .NET Application Blocks provides a process for testing .NET application blocks. The guide is designed to be used as a reference or to be read from beginning to end. It consists of three parts:

  • Part I, "Overview, " gives an overview of the testing process and describes a process for test driven development, which is a core practice of Extreme Programming.
  • Part II, "Testing a .NET Application Block, " presents the process for testing an application block and has a separate process for each step.
  • Part III, "Integration Testing for .NET Application Blocks, " presents the process for testing customizations of the application block and for integration testing an application with an application block.

Why We Wrote This Guide

The patterns & practices group at Microsoft® offers a number of application blocks that are available for free download from MSDN®. These application blocks are reusable, configurable, and customizable blocks of code. They are rigorously tested to ensure that they meet all the stated requirements and the best practices for design and implementation. You can easily integrate these application blocks with other applications, either using the blocks without modification or customizing them according to your requirements.

Note   The application blocks are not stand-alone executable files.

For a list of applications blocks that includes a link to each block, see the Appendix later in this chapter.

This guide shows developers and testers how to:

  • Test the application blocks during their development/customization life cycle.
  • Test the integration of an application block with an application.

.NET application blocks can be tested during the following stages:

  • Development life cycle of the application block. You must test the application block to ensure that the block meets the requirements and objectives for which it is being developed. You must also test the application block to ensure that the design and the implementation follow best practices for performance, security, maintainability, and extensibility.
  • Customization of the application block. You must test the changes made to the application block to ensure that the changes meet the objectives for which the block has been customized. You must also unit test the original functionality to ensure that customization has not broken the existing features.
  • Integration of the application block with an application. You must test the integration of the application with the application block to ensure that the application block can process the application input and return the output accurately and consistently. You may also need to verify that the integration has not introduced bottlenecks.

Scope of This Guide

This guide presents recommendations on how to test .NET application blocks during their development life cycle, during customization, and during their integration with an application. The recommended process can be easily used no matter what software development life cycle you use to develop, customize, and integrate these blocks.

Because this guide focuses on testing NET application blocks, its scope does not include user interface (UI) testing or database testing. Although the guidance is developed within the context of Microsoft patterns & practices application blocks, it applies to testing .NET code in general.

Audience

This guide is intended for the following audience:

  • Testers and test leads who are involved in the development and test life cycle of an application block.
  • Testers and test leads who are involved in testing an application that requires integrating an application block in "off-the-shelf" manner or after customizing it.
  • Developers who are involved in customizing an application block or integrating a block with other applications.

How to Use This Guide

You can read this guide from beginning to end, or you can read just the parts or chapters that apply to your role.

Applying the Guidance to Your Role

The guidance breaks down the testing processes into discrete steps such that each tester can follow the process for his or her area of specialization. The following parts apply to the tester's role:

  • Part II. Part II presents an overall process for testing the application blocks. Each step in this testing process is further broken down into processes. Testers can selectively choose among these processes to perform tests depending on their area of specialization.
  • Part III. Part III shows testers how to unit test customizations of the application block and how to test the integration of an application with the application block.

Test leads can use this guidance to enforce a standardized process within their organization. Specifically, they can:

  • Efficiently track the progress of testing, because the process has been broken down into discrete steps.
  • Conduct a risk analysis and distribute the effort among various steps. In this way the testing effort can be focused on high risk areas.
  • Ensure that, by following all the steps in the process, the application block is tested rigorously.

The following parts apply to the test lead role:

  • Part I. Part I helps the test lead to implement test-driven development, which is a core programming practice for Extreme Programming.
  • Part II. Chapter 3, "Testing Process for Application Blocks," presents an overall process for testing the application blocks.
  • Part III. Part III helps the test lead to enforce a standard process for testing any customizations of the application block and describes how to integration test the block with an application.

Developers can use this guidance to conduct design and code reviews of their own code.

The following part applies to the developer role:

  • Part II. Chapter 4, "Design Review for Application Blocks" and Chapter 5, "Code Review for Application Blocks" provide the processes for design and code review. The developer can use these processes to identify various issues early in the development life cycle.

Applying the Guidance to Your Application's Life Cycle

Figure 1.1 shows how the guidance for testing application blocks applies to the broad categories associated with an application's life cycle, regardless of the development methodology used. The recommended process for testing .NET application blocks runs as a separate but parallel set of activities throughout the development life cycle.

Ff649523.f01mtf01(en-us,PandP.10).gif

Figure 1.1. Life cycle mapping

The Team Who Brought You This Guide

The following people created this guide:

  • Mohammad Al-Sabt, Microsoft Corporation
  • Ken Perilman, Microsoft Corporation
  • Ashish Babbar, Infosys Technologies Ltd.
  • Sameer Tarey, Infosys Technologies Ltd.
  • Ramprasad Ramamurthy, Infosys Technologies Ltd.
  • Terrence J. Cyril, Infosys Technologies Ltd.

Contributors and Reviewers

Many thanks to the following contributors and reviewers:

  • Special thanks to key contributors: Prashant Bansode, Nitai Utkarsh, Sankaranarayanan Milerangam Gopalan, Venkata Narayana Varun, and Hariharasudan T, Infosys Technologies Ltd.
  • Special thanks to key reviewers: Guru Sundaram, Mrinal Bhao, and Ravi Prasad VV, Infosys Technologies Ltd.
  • Thanks to our patterns & practices team members for technical feedback and input: Edward Lafferty, Carlos Farre, Chris Sfanos, J. D. Meier, Jim Newkirk, and Edward Jezierski (Microsoft Corporation)
  • Thanks to external reviewers: Amit Bahree, Technologist at Capgemini; Matt Hessinger (Hessinger Consulting, Inc); Software Engineering and Technology Labs (SETLabs) and Independent Validation Services (IVS), Infosys Technologies Ltd.
  • Thanks to our editors: Sharon Smith (Microsoft Corporation), Susan Filkins (Entirenet), and Tina Burden McGrayne (Entirenet)
  • Thanks to our graphic designer: Claudette Iebbiano (Wadeware LLC)
  • Thanks to our release manager: Sanjeev Garg (Satyam Computer Services)

Summary

In this introduction, you were shown the structure of the guide and the basic approach used by it to test the .NET application blocks. You were also shown how to apply the guidance to your role or to specific phases of your product development life cycle.

Appendix

The patterns & practices group at Microsoft offers the following application blocks. For continuous updates to this list, see http://www.microsoft.com/resources/practices/code.mspx.

Start | Previous | Next

patterns & practices Developer Center

Retired Content

This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

Show:
© 2014 Microsoft. All rights reserved.