Whitebox
Whitebox
Whitebox
Process Document
- CONFIDENTIAL - 1/22
AppLabs white box testing process
Table of Contents
- CONFIDENTIAL - 2/22
AppLabs white box testing process
6.4 Probes................................................................................................................ 16
6.5 Monitoring Tools .............................................................................................. 17
6.6 Custom Tools .................................................................................................... 17
7.0 Infrastructure ...................................................................................................... 17
7.1 Test Case Collection System ............................................................................ 17
7.2 Problem Tracking System................................................................................. 17
7.2.1 Roles ......................................................................................................... 18
7.2.2 Severity Levels.......................................................................................... 18
7.3 Communication................................................................................................. 18
7.3.1 Internet Based ........................................................................................... 18
7.3.2 Phone/Fax ................................................................................................. 19
7.4 Risk Management ............................................................................................. 19
7.5 Project Management ......................................................................................... 19
7.5.1 Activity Tracking ...................................................................................... 19
7.5.2 Task Tracking ........................................................................................... 20
7.5.3 Issues Tracking ......................................................................................... 20
8.0 Documentation ................................................................................................... 20
8.1 Project Documentation...................................................................................... 20
8.2 Reporting........................................................................................................... 21
Glossary........................................................................................................................... 21
References ....................................................................................................................... 22
- CONFIDENTIAL - 3/22
AppLabs white box testing process
1.0 Introduction
AppLabs has strong processes for quality assurance in all the tasks performed.
Our attempt is to incorporate these processes across all activities - from
managing the Software Development Life Cycle, to tracking of the status of
projects, through to communicating with the client.
Our end goal is to build in processes that will integrate our offshore team with
the client’s onsite team, and to minimize person-dependence.
Staging
Production
Area
Development Integration
Workstations Environment
Development Environment
1.1 Goals
1.2 Scope
Some clients may choose not to pursue certain aspects of the scope, e.g. 3.1 below.
- CONFIDENTIAL - 4/22
AppLabs white box testing process
1.3 Staffing
Applabs has a primary focus of retaining the best talent available in its
offshore facility in India and has staff dedicated to performing recruitment
and Human Resources (HR) functions.
Role Responsibilities
Project Formulation of the Entire Project Plan
Manager All commercial communication with the client
Quality assurance at project level
Project or Scheduling and tracking of activities as per project plan
Module Managing the team assigned to the project for coding
Leader through integrated testing
Interfacing with support services
Quality assurance at programmer level
Project Coding and unit testing
Member Support for Integration testing
Configuration Configuration control of the hardware and software
Control environment
Assurance of proper working conditions
Maintenance and secrecy control for software
Technical Provides technical consultancy to the project team
Consultant Resolve technical issues in the project
Quality Assisting Project Leader in quality assurance
Assurance Periodic audit of project to ensure compliance
Ensuring good data collection
Analyzing data and providing feedback
Suggesting process improvements
- CONFIDENTIAL - 5/22
AppLabs white box testing process
The above Applabs personnel interface with one or more technical and
project management staff on the client side. For example, the following
might be the client staffing on an EJB based project:
Typically, there is a single point of contact on the client side that acts as
the project manager for interfacing to Applabs. This person facilitates
communications and resource management functions with Applabs as
well as tracks the project.
1.5 Methodology
1.6 Deliverables
- CONFIDENTIAL - 6/22
AppLabs white box testing process
2.2 Identification
- CONFIDENTIAL - 7/22
AppLabs white box testing process
Each Test Plan Item should have the following specific characteristics:
Many of the above criteria are related to actually identifying the test plan
items and would involve a good understanding of the specifications.
However, keeping in mind the need for a strong process, AppLabs has
kept the above aspects in mind and formulated a structure of the test plan.
3.0 Practices
This section outlines some of the general practices comprising the Applabs
white-box testing process. In general, white-box testing practices have the
following considerations:
1. The allocation of resources to perform class and method analysis and to
document and review the same
2. Developing a test harness made up of stubs, drivers and test object
libraries
3. Development and use of standard procedures, naming conventions and
libraries
4. Establishment and maintenance of regression test suites and procedures
5. Allocation of resources to design, document and manage a test history
library
6. The means to develop or acquire tool support for automation of
capture/replay/compare, test suite execution, results verification and
documentation capabilities
These are test cases that exercise basic set will execute every
statement at least once.
- CONFIDENTIAL - 8/22
AppLabs white box testing process
- CONFIDENTIAL - 9/22
AppLabs white box testing process
3.3 Profiling
- CONFIDENTIAL - 10/22
AppLabs white box testing process
These include the use of Microsoft Java Profiler API and Sun’s profiling
tools that are bundled with the JDK. Third party tools such as JaViz
[http://www.research.ibm.com/journal/sj/391/kazi.html] may also be used to
perform this function.
3.5 Transactions
4.0 Parameters
The white-box testing process applies the following artifacts to each of the test
areas outlined in section 5.0 below.
4.1.2 Standard Set: This is a subset of all the Interface Set for a
component and only contains normal cases. Unlike the
- CONFIDENTIAL - 11/22
AppLabs white box testing process
Interface Set that contains single instances for each test case,
the Standard Set contains a balanced mix of interface calls
Control Points are used to segment the life cycle of the development
process into the Design, Development and Deployment phases.
5.1.1 Component
- CONFIDENTIAL - 12/22
AppLabs white box testing process
5.1.2 Module
Modules are tested against their functional and design goals using
the parameters outlined in section 4.0.
5.1.3 Subsystem
Subsystems are also tested against their functional and design goals
using the parameters outlined in section 4.0.
5.1.4 System
5.2 Security
- CONFIDENTIAL - 13/22
AppLabs white box testing process
To address security issues with the system under test, the following
aspects are tested:
5.2.1 Authentication
5.3.1 Bandwidth
5.3.2 Applications
5.4 Capacity
- CONFIDENTIAL - 14/22
AppLabs white box testing process
Capacity testing looks at resource demand for each of the test vectors in
various parts of the system. These test vectors are designed to reflect
normal usage in terms of workflows and bandwidth requirements.
5.5 Scalability
5.6 Reliability
The purpose of this test to ensure that the Application under test performs
in a consistent fashion. It is exercised to expose any specific and gross
node failures including:
• No single point of failure that compromises entirety of application
• Potential exists for in-flight activities to terminate abruptly
• In some failure mode application function compromised for a
period
Products such as CISCO Local Director are tested during this phase.
5.7 Burn-in
In this aspect of testing, the system or subsystem under test is run at full
and partial loads over an extended period of time (e.g. 24 hours or more)
to test for consistency.
5.8 Clustering
For systems that use clustering support, one or more systems are removed
from the installation on an operational system to check for system
recovery and verify fail over to backup system.
- CONFIDENTIAL - 15/22
AppLabs white box testing process
6.1 QA Products
These tools are used in cases where User Interface is the primary driver.
6.3 Stubs
6.4 Probes
During coverage analysis or execution verification, most often, C1* is
measured by planting subroutine calls--called software probes -- along each
* See glossary for definition of C1
- CONFIDENTIAL - 16/22
AppLabs white box testing process
7.0 Infrastructure
- CONFIDENTIAL - 17/22
AppLabs white box testing process
7.2.1 Roles
Each test item would have a severity level associated with it.
AppLabs broadly identifies three levels of severity for each test
item as follows:
Severity Level 1
Program aborts and the system cannot function further
Severity Level 2
Major functionality of the system (associated with that test item)
affected – however other functions still work well
Severity Level 3
All major functionality of the system works as per specifications –
however minor user irritation or minor data inconsistencies exist
(which could be easily handled by a system administrator)
7.3 Communication
- CONFIDENTIAL - 18/22
AppLabs white box testing process
7.3.2 Phone/Fax
Risk Plan
Manpower Process-wise backups
attrition On-going training
Very strong documentation
Regular reviews and technology transfers
All processes handled with shared responsibility.
Communication Back Up communication infrastructure
Failure De-linking actual development from communication
infrastructure
Software Use of original software
Environment Proper configuration management and security
Corruption
Machine Backup machines availability
Downtime Link-up with support vendors for quick service and
low downtime
Activity Process
Project The entire plan will be formulated in MS Project
Monitoring and sent to the client at the beginning of the project
itself.
Details of the plan are worked out at the offshore
site with intermediate milestones, completion
dates and resource allocation
- CONFIDENTIAL - 19/22
AppLabs white box testing process
Activity Process
Task Identification of roles and assignments to persons
Scheduling MS Scheduler to track role-wise tasks
and tracking Regular access to tasks and review by management
Security levels for task deletions and modification
During the course of the project there could be several issues that
would have to be followed up and resolved. These could be either
technical or commercial. Applabs has a tracking mechanism for this
by using the following template via email:
8.0 Documentation
When the entire project is executed by AppLabs, Rational Unified Process (RUP)
or IEEE standards of documentation are followed wherever applicable in order
to ensure that the right quality levels are maintained at each stage of the project.
The three basic documents that we rely on corresponding to different stages of
the Software Development Life Cycle are:
- CONFIDENTIAL - 20/22
AppLabs white box testing process
Depending on the nature and schedule of the project we use more detailed
documentation such as:
8.2 Reporting
The Applabs team regularly sends status reports to the client. A sample
report is given below:
Status Report
Report Number
Date and Time
Subject / Topic
Review / Feedback Required
(time-based)
To & From (if required)
Glossary
- CONFIDENTIAL - 21/22
AppLabs white box testing process
knows what the program is supposed to do. He or she can then see if the
program diverges from its intended goal. White box testing does not account for
errors caused by omission, and all visible code must also be readable.
C1: One of the more common strategies for testing involves declaring in a
minimum level of testing coverage, ordinarily expressed as a percentage of the
elemental segments that are exercised in aggregate during the testing process.
This is called C1 coverage, where C1 denotes the minimum level of testing
coverage so that every logically separate part of the program has been exercised
at least once during the set of tests. Unit testing usually requires at least 85-90%
C1 coverage.
References
- CONFIDENTIAL - 22/22