You are on page 1of 15

CodeCrawler CodeCrawler Test Plan

Version 1.1

CodeCrawler Test Plan

Version: 1.1 Date: 11/3/2004

Revision History
Date 11/3/2004 11/21/2004 Version 1.0 1.1 Initial Version Final Elaboration Version Description Author Ed Fancher Ed Fancher

CodeCrawler

Page 2

CodeCrawler Test Plan

Version: 1.1 Date: 11/3/2004

Table of Contents
1. Introduction 1.1 Purpose 1.2 Background 1.3 Scope 1.4 Risks 4 4 4 4 4 4 2. Requirements for Test 3. Test Strategy 3.1 Testing Types 3.1.1 Fault Injection Testing 3.1.2 Function Testing 3.1.3 User Interface Testing 3.1.4 Performance Profiling 3.1.5 Load Testing 3.1.6 Security and Access Control Testing 3.1.7 Installation Testing 3.2 Tools 4. Resources 4.1 Workers 5. Project Milestones 6. Deliverables 7. Coding Standards 5 6 6 6 6 7 8 9 9 10 11 12 12 14 15 15

CodeCrawler

Page 3

CodeCrawler Test Plan

Version: 1.1 Date: 11/3/2004

Test Plan
1.
1.1

Introduction
Purpose This Test Plan document for the CodeCrawler supports the following objectives:. Define test responsibilities Define areas of testing Define test metrics. Outline the test strategy for the CodeCrawler project

1.2

Background CodeCrawler will be a system, geared toward developers, which makes searching source code as easy as searching the Internet and as powerful as using a grep tool. It will provide a web interface which allows users to search using regular expressions, boolean queries, and programming specific extensions. The results will be ranked by relevance, taking into account source code semantics (class, method, variable, etc.), will display code snippets, and will allow viewing the full source code. The system should be easy to use, configurable, and responsive. Scope This document covers Unit testing, integration and build testing (also called build verification tests) and system testing.

1.3

1.4

Risks Risks are kept in the risk tracking document.

CodeCrawler

Page 4

CodeCrawler Test Plan

Version: 1.1 Date: 11/3/2004

2.

Requirements for Test


Use cases or functional requirements, a build plan and non-functional requirements are required for test.

CodeCrawler

Page 5

CodeCrawler Test Plan

Version: 1.1 Date: 11/3/2004

3.

Test Strategy
Unit test cases will be provided for each module, including at least one test case per public/protected method. Appropriate unit test cases should be derived from the pre-conditions for each method. A set of integration tests will be developed that covers the basic functionality available for that iteration to verify that the system is ready to undergo system test. These should be system tests that are considered critical to being able to system test the system. These do not need to go through the system interface.

3.1 3.1.1

Testing Types Fault Injection Testing Test Objective: Technique: Completion Criteria: Special Considerations: Verify system can handle corrupted source code or index files.. Corrupt files, indices, delete source code files

All planned tests have been executed. Indices are binary, so highly sophisticated corruption may not be possible.

3.1.2

Function Testing Test Objective: Technique: Verify use cases main scenarios and extensions can be achieved. System tests should test the boundary conditions as well as any special values. All query keywords should be tested. All language keywords should be tested. Exploratory testing should involve: Finding the max number of query terms. Finding the max query length. Using terms incorrect for the language All use cases and use case extensions should have test cases. Completion Criteria: Special Considerations: All planned tests have been executed.

CodeCrawler

Page 6

CodeCrawler Test Plan

Version: 1.1 Date: 11/3/2004

3.1.3

User Interface Testing

Test Objective:

Verify the following: Page navigation Help Navigation if available Field Min, max Tab order

Technique: Completion Criteria: Special Considerations:

CodeCrawler

Page 7

CodeCrawler Test Plan

Version: 1.1 Date: 11/3/2004

3.1.4

Performance Profiling Test Objective: Technique: Completion Criteria: Special Considerations: Verify the system under a simple usage scenario Use a simple search use case scenario Can search with multiple users

CodeCrawler

Page 8

CodeCrawler Test Plan

Version: 1.1 Date: 11/3/2004

3.1.5

Load Testing Test Objective: Technique: Verify performance behavior time for designated transactions or business cases under varying workload conditions. Verify these in combination: Multiple users doing search Background indexing Small, medium and large code base Small, medium and large query size (in number of terms) Completion Criteria: Special Considerations: Verify against criteria specified in Architecture document.

3.1.6

Security and Access Control Testing Test Objective: Application-level Security: Verify that an actor can access only those functions or data for which their user type is provided permissions. Attempt log in as varies roles. Verify permission limitations. Verify against criteria specified in Architecture document.

Technique: Completion Criteria: Special Considerations:

CodeCrawler

Page 9

CodeCrawler Test Plan

Version: 1.1 Date: 11/3/2004

3.1.7

Installation Testing Test Objective: Verify that the target-of-test properly installs onto each required hardware configuration under the following conditions: new installation, a new machine, never installed previously with CodeCrawler update, machine previously installed CodeCrawler, same version update, machine previously installed CodeCrawler, older version Manually or develop automated scripts, to validate the condition of the target machine new - CodeCrawler never installed; CodeCrawler same version or older version already installed). Launch or perform installation. Using a predetermined sub-set of function test scripts, run the transactions. Completion Criteria: Special Considerations: CodeCrawler transactions execute successfully without failure.

Technique:

CodeCrawler

Page 10

CodeCrawler Test Plan

Version: 1.1 Date: 11/3/2004

3.2 Tools The following tools will be employed for this project: [Note: Delete or add items as appropriate.]

Tool Test Management Defect Tracking ASQ Tool for functional testing ASQ Tool for performance testing Test Coverage Monitor or Profiler Project Management DBMS tools CVS Tigris Not yet determined Not yet determined None None None

Vendor/In-house Vendor Vendor Vendor Vendor

Version

CodeCrawler

Page 11

CodeCrawler Test Plan

Version: 1.1 Date: 11/3/2004

4.
4.1

Resources
All devs will own unit testing, integration testing and system testing. Workers This table shows the staffing assumptions for the project.

Human Resources Worker Minimum Resources Recommended


(number of part-time workers allocated)

Specific Responsibilities or Comments

Test Manager, Test Project Manager

Provides management oversight. Responsibilities: provide technical direction acquire appropriate resources provide management reporting

Test Designer

Identifies, prioritizes, and implements test cases. Responsibilities: generate test plan generate test model evaluate effectiveness of test effort

Tester

Executes the tests. Responsibilities: execute tests log results recover from errors document change requests

Test System Administrator

Ensures test environment and assets are managed and maintained. Responsibilities: administer test management system install and manage worker access to test systems

CodeCrawler

Page 12

CodeCrawler Test Plan

Version: 1.1 Date: 11/3/2004

Designer

Identifies and defines the operations, attributes, and associations of the test classes. Responsibilities: identifies and defines the test class(es) identifies and defines the test packages

Implementer

Implements and unit tests the test classes and test packages. Responsibilities: creates the test classes and packages implemented in the test model

CodeCrawler

Page 13

CodeCrawler Test Plan

Version: 1.1 Date: 11/3/2004

5.

Project Milestones
[Testing of CodeCrawler should incorporate test activities for each of the test efforts identified in the previous sections. Separate project milestones should be identified to communicate project status accomplishments.]

Milestone Task Plan Test Design Test Implement Test Execute Test Evaluate Test

Effort

Start Date

End Date

CodeCrawler

Page 14

CodeCrawler Test Plan

Version: 1.1 Date: 11/3/2004

6.

Deliverables
Test Plan JUnit Unit Tests Unit Test Reviews JUnit Integration Tests Integration Test Reviews System Tests System Test Reviews Iteration Test Reports Test Final Report

7.

Coding Standards
Coding standards will follow the java coding standards as codified here: http://java.sun.com/docs/codeconv/

CodeCrawler

Page 15

You might also like