Title: Building the Test Environment
1Building the TestEnvironment
Skill Category 2
2- Skill Category 2
- Building the Test Environment ....................
.......................................... 133 - Management Support ...............................
..............................................
133 - Management Tone ..................................
................................... 134 - Integrity and Ethical Values .....................
................................................
135 - Commitment to Competence .........................
............................................ 137 - Managements Philosophy and Operating Style
..................................................
........... 137 - Organizational Structure .........................
............................................. 138 - Test Work Processes ..............................
................................................
140 - The Importance of Work Processes
..................................................
.................... 140 - Responsibility for Building Work Processes
..................................................
.................. 142 - Developing Work Processes ........................
..............................................
149 - Testers Workbench ...............................
....................................... 150 - Analysis and Improvement of the Test Process
..................................................
............ 153 - Test Tools .......................................
....................................... 167 - Tool Development and Acquisition
..................................................
.................... 167 - Tool Usage .......................................
............................... 179 - Testers Competency ...............................
...............................................
180
3The test Environment is comprised of the
following conditions within the organization
- policies
- procedures
- culture
- attitudes
- rewards
- test processes
- test tools
- methods for developing and improving test
processes - managements support of software testing
- test labs developed for the purpose of testing
software - multiple operating environments
- assuring the test environment fairly represents
the production environment to enable realistic
testing to occur
4Management Support Good for testers.
- Following will be discussed
- Management tone Management sets the tone by
providing testers the resources and management
time needed to do their job effectively. - Test process alignment Management creates a test
function that is aligned with the business needs
of the organization.
5Testers need to know 3 things about the control
environment
- The control environment is established by the
highest levels of management and works downward
through the organization. - The test function cannot create the
organizations control environment, but can
influence how that environment is implemented
within the test function. - The control environment will influence the way in
which testers perform the work which may be
ethical or unethical.
6Integrity and Ethical Values
- Excerpt
- Integrity is a prerequisite for ethical
behavior in all aspects of an enterprises
activities. A strong corporate ethical climate at
all levels is vital to the well-being of the
corporation, all of its constituencies, and the
public at large.
7Incentives and Temptations
- Individuals may engage in dishonest, illegal
or unethical acts simply because their
organizations give them strong incentives or
temptations to do so.
8- Incentives cited for engaging in fraudulent
unethical behavior - Pressure to meet unrealistic performance targets,
particularly for short-term results - High performance-dependent rewards.
- Temptations for employees to engage in
improper acts - Nonexistent or ineffective controls, such as poor
segregation of duties in sensitive areas that
offer temptations to steal or to conceal poor
performance. - High decentralization that leaves top management
unaware of actions taken at lower organizational
levels and thereby reduces the chances of getting
caught. - A weak internal audit function that does not have
the ability to detect and report improper
behavior. - Penalties for improper behavior that are
insignificant or unpublicized and thus lose their
value as deterrents.
9Providing and Communicating Moral Guidance
- The most effective way of transmitting a message
of ethical behavior throughout the organization
is by example.
10Commitment to Competence
- Competence should reflect the knowledge and
skills needed to accomplish tasks that define the
individuals job. - Management needs to specify the competence levels
for particular jobs and to translate those levels
into requisite knowledge and skills.
11Managements Philosophy and Operating Style
- Managements philosophy and operating style
affect the way testing is managed, including the
kinds of business risks accepted. - Informal An informally managed company may
control operations largely by face-to-face
contact with key managers. - Formal A more formally managed exception
reports. - Other elements of managements philosophy and
operating style include - attitudes toward financial reporting
- conservative or aggressive selection from
available alternative accounting principles - conscientiousness and conservatism with which
accounting estimates are developed - attitudes toward data processing and accounting
functions and personnel.
12Organizational Structure
- An entitys organizational structure provides the
framework within which its activities for
achieving entity-wide objectives are planned,
executed, controlled and monitored. - Activities that relate to the value chain
- inbound (requirements) activities
- operations or production
- outbound (software)
- deployment and maintenance
- Support Functions
- administration,
- human resources
- Technology development
13Assignment of Authority and Responsibility
- Management has an important function with the
assignment of authority and responsibility for
operating activities, and establishment of
reporting relationships and authorization
protocols. - Management function deals with
- policies describing appropriate business
practices - knowledge and experience of key personnel
- resources provided for carrying out duties
14Human Resource Policies and Practices
- Messages to employees
- Standards for hiring the most qualified
individuals, with emphasis on educational
background, prior work experience, past
accomplishments and evidence of integrity and
ethical behavior, demonstrate an organizations
commitment to competent and trustworthy people. - Recruiting practices that include formal,
in-depth employment interviews and informative
and insightful presentations on the
organizations history, culture and operating
style send a message that the organization is
committed to its people. - Training policies that communicate prospective
roles and responsibilities and include practices
such as training schools and seminars, simulated
case studies and role-play exercises, illustrate
expected levels of performance and behavior. - Rotation of personnel and promotions driven by
periodic performance appraisals demonstrate the
entitys commitment to the advancement of
qualified personnel to higher levels of
responsibility. - Competitive compensation programs that include
bonus incentives serve to motivate and reinforce
outstanding performance. Disciplinary actions
send a message that violations of expected
behavior will not be tolerated.
15Test Work Processes
- Work processes are the policies, standards and
procedures in a quality IT environment. Test work
processes are those work processes specific to
the testing activity. - Policy Managerial desires and intents concerning
either process (intended objectives) or products
(desired attributes). - Standards The measure used to evaluate products
and identify nonconformance. The basis upon which
adherence to policies is measured. - Procedure The step-by-step method that ensures
that standards are met. -
16The Importance of Work Processes
- It is important to a quality IT environment to
establish, adhere to, and maintain work processes
in the testing activity. It is also critical that
the work processes represent sound policies,
standards and procedures.
17Major purposes and advantages to having work
processes
- Improves communication
- Enables knowledge transfer
- Improves productivity
- Assists with mastering new technology
- Reduces defects and cost
18Responsibility for Building Work Processes
- IT management is responsible for issuing IT
policy. Policies define direction and by
definition are general rules or principles. It is
the standards, which will add the specificity
needed for implementation of policies. - Policies are needed in
- Building Systems
- Testing Systems
- Maintaining Systems
- Operating Systems
- Quality of Systems
- Security of Systems
- Allocation of Resources
- Planning for Systems
- Training Personnel
19Responsibility for Standards and Procedures
- The workers who use the procedures and are
required to comply with the standards should be
responsible for the development of those
standards and procedures. Management sets the
direction and the workers define that direction.
This division permits each to do what they are - best qualified to do.
20The key concepts of a process engineering program
are
- Management provides an organizational structure
for the workers to develop their own standards
and procedures. - The program is driven by management policies.
- Absolute compliance to standards and procedures
is required. - A mechanism is provided for the continual
maintenance of standards and procedures to make
them more effective.
21Test Process Selection
- Selecting, developing, and acquiring work
processes is an overall IT organization - responsibility. Software testers need to both
- understand how the activity operates AND
participate when test processes, and related
processes, are selected and put into practice.
22Test Process Selection (contd)
- IT groups should develop a plan for
implementing and operating a process engineering - program. This would require a policy for
standards, and a charter or job description for
the - function. These need to be customized for
each organization. The specific components that - need to be addressed include
- Building a Process Engineering Organization
- Developing a Standard and Procedure for Standards
- Planning for Standards
- Writing, Storing, and Retrieving Standards and
Procedures - Enforcing Standards
23Building a Process Engineering Organization
- The structure that is put in place to develop
and update policies, standards, and procedures
must involve both staff and management. The
process engineering program should be directed by
management, but implemented by staff.
24Building a Process Engineering Organization
(contd)
- Some guidelines on establishing an
organizational structure for process engineering
are - Establish a Process Engineering Committee
compromised of the most senior IT managers
possible. - Represent all IT organizational areas on the
Process Engineering Committee. - Appoint an individual as the Process Engineering
Manager. (Note that this can be a part-time
assignment.) - Appoint Ad Hoc Committees (i.e., special task
forces) to develop individual standards and
procedures. - Let the Standards Ad Hoc Committees develop the
technical standard.
25Recommended Standards Organizational Structure
- The recommended organizational structure is
comprised of the following three components - Process Engineering Manager
- A full-time or part-time individual responsible
for managing the standards program. - Process Engineering Committee
- A policy-setting board, which runs the standards
program. - Ad Hoc Committee
- Small groups which develop single standards at a
time.
26Organizational chart for process engineering
27Role of Process Engineering Manager
- Promote the concept of process engineering.
- Be the driving force behind processes.
- Administer the standards program defined by the
Process Engineering Committee. - Be a resource to the Process Engineering
Committee and Ad Hoc Committees. - Ensure involved parties are adequately trained.
28Role of the Process Engineering Committee
- Accept topics for processes.
- Set priority for implementation of processes.
- Obtain the resources necessary to develop the
process. - Approve or reject developed processes.
29Role of the Ad Hoc Committee
- Gain representatives from all involved areas.
- Ensure that the committee has between three and
eight members in size. - Create the standard and procedure.
- Coordinate reviews of the standard with involved
parties. - Periodically review and update the standards and
procedures previously developed by - the Ad Hoc Committee.
30Selecting Process Engineering Committee Members
- The makeup of the Process Engineering
Committee is important. Some guidelines in
selecting - members are
- Select the highest-level manager who will accept
the position. - Assign individuals who are supportive and
enthusiastic over standards. - Make long-term assignments to the Process
Engineering Committee. - Select individuals who are respected by their
peers and subordinates. - Ensure the appropriate areas of interest are
involved.
31Selecting Process Engineering Committee Members
(contd)
- Some guidelines to ensure the appropriate
areas of interest are included in developing - standards are
- Is every organizational function within IT
involved? - Are the activities that interface to the IT
function involved for example, key users and
customers? - Are activities having a vested interest involved,
such as auditors? - Are all the IT businesses represented such as
the project leaders, systems programmers, data
library, security, help desk, and so forth?
32Developing Work Processes
- Prior to creating any processes, the Process
Engineering Committee must develop a standard and
procedure for developing standards and
procedures. The standards and procedures
developed by the standards program are products.
Those products must be standardized just as - the other products produced in an IT function.
33Defining the Attributes of a Standard for a
Standard
- The standard for a standard and a standard for
a procedure, define the format, style, and - attributes of a document called a standard and
a document called a procedure. This standard - for a standard and standard for a procedure
become the prototype that will be used by the Ad - Hoc Committees in developing standards and
accompanying procedure(s). - This standard should define the following
- A testing policy
- A test workbench to support the policy (i.e.,
standards and processes)
34Establishing a Testing Policy
- A testing policy is managements objective for
testing. It is the objective to be accomplished. - Good testing does not just happen, it must be
planned, and a testing policy should be the
cornerstone of that plan.
Sample Testing Policy
35Testers Workbench
- The testers workbench shows that input products
drive the workbench, which uses procedures and
standards to produce output products.
36Professional Test Standards
- Test professionals should be familiar with the
standards published by organizations - such as the International Standards Organization
(ISO), U.S. Department of Commerce - (National Institute of Standards and Technology),
and IEEE. In addition, testers should know - when these standards apply, and how to obtain the
latest versions.
37Professional Test Standards (contd)
- IEEE publishes a body of standards that address
software engineering and maintenance. A portion
of these standards addresses software testing and
test reporting. Listed below are the current
standards that apply to the test process. - 829-1998 IEEE Standard for Software Test
Documentation - 830-1998 IEEE Recommended Practice for Software
Requirements - Specifications
- 1008-1987 (R1993) IEEE Standard for Software Unit
Testing (ANSI) - 1012-1998 IEEE Standard for Software Verification
and Validation - 1012a-1998 IEEE Standard for Software
Verification and Validation Supplement to
1012-1998 Content Map to IEEE 12207.1 - 1028-1997 IEEE Standard for Software Reviews
- Other professional organizations have similar
standards. The CSTE candidate should have an
overall familiarity with the purpose and contents
of these standards.
38Analysis and Improvement of the Test Process
- Test Process Analysis Test quality control is
performed during the execution of the process.
Analysis is performed after the test process is
completed. - Effectiveness and efficiency of test processes
- The test objectives are applicable, reasonable,
adequate, feasible, and affordable - Testers do not have the needed competencies to
meet the test objectives - The test program meets the test objectives
- The correct test program is being applied to the
project - The test methodology is used correctly
- The task work products are adequate to meet the
test objectives - Analysis of the results of testing to determine
the adequacy of testing - Adequate, not excessive, testing is performed
39Continuous Improvement
- A testing process assessment is one excellent way
to determine the status of your current test
process. - Process assessment is applicable in the following
circumstances - Understanding the state of processes for
improvement. - Determining the suitability of processes for a
particular requirement or class of requirements. - Determining the suitability of another
organizations processes for a particular
contract or class of contracts. - The framework for process assessment
- Encourages self-assessment.
- Takes into account the context in which the
assessed process operates. - Produces a set of process ratings (a process
profile) rather than a pass or fail result. - Addresses the adequacy of the management of the
assessed processes through generic practices. - Is appropriate across all application categories
and sizes of organization.
40Test Process Improvement Model
- A model for test process improvement has these
eight steps - Examine the Organizations Needs and Business
Goals - Conduct Assessment
- Initiate Process Improvement
- Analyze Assessment Output and Derive Action Plan
- Implement Improvements
- Confirm Improvements
- Sustain Improvement Gains
- Monitor Performance
41Test Process Alignment
- In establishing the test environment management
must assure that the mission/goals of the test
function are aligned to the mission/goals of the
organization.
42Adapting the Test Process to Different Software
Development Methodologies
- Understanding the software development process
used in his/her organization is important in
conducting software testing for the following
three reasons - Understanding the developmental timetable and
deliverables. - Integrating software
- Understanding how software is developed
43Six major categories of developmental
methodologies
- Waterfall
- D-shaped
- Prototype
- Spiral
- RAD
- Incremental
44Testers testing software developed by a specific
software development methodology need to
- Understand the methodology.
- Understand the deliverables produced when using
that methodology which is needed for test
purposes. - Identify compatible and incompatible test
activities associated with the developmental
methodology. - Customize the software test methodology to
effectively test the software based on the
specific developmental methodology used to build
the software.
45Test Tools
- It is difficult to perform testing economically
without the aid of automated tools. - The most important aspect of software testing
tools is the process used to acquire those tools.
Most of this component of the environment will
focus on acquiring or developing testing tools.
46Tool Development and Acquisition
- Difficulties surrounding the introduction of
tools can arise in three areas - Organizational obstacles
- Problems arising from the tools
- Obstacles in the computer environment
- The activities associated with the introduction
of tools should include these activities - Identifying the goals to be met by the tool (or
by the technique supported by the tool), and
assigning responsibility for the activities
required to meet these goals. - Approving a detailed tool acquisition plan that
defines the resource requirements for procurement
and in-house activities. - Approving the procurement of tools and training,
if this is not explicit in the approval of the
acquisition plan. - Determining, after some period of tool use,
whether the goals have been met.
47Tool Development and Acquisition (contd)
- Test management is assigned responsibility for
- Identifying tool objectives.
- Approving the acquisition plan (it may also
require approval by funding management). - Defining selection criteria.
- Making the final selection of the tool or the
source. - The Test Manager is responsible for the following
activities. Note that a selection group for the
more important test tools may assist the Tool
Manager. - Identifying candidate tools.
- Applying the selection criteria (in informal
procurement) or preparing the RFP (in formal
procurement). - Preparing a ranked list of tools or sources.
- Conducting any detailed evaluations or conference
room pilots.
48Tool Development and Acquisition (contd)
- This distribution of responsibilities reduces the
chances of selecting a tool that - Does not meet the recognized needs of the
organization - Is difficult to use
- Requires excessive computer resources
- Lacks adequate documentation
49Event Sequencing
- The following event sequence addresses only the
introduction of existing tools. - The recommended event sequence allows for two
procurement methods for bids - 1. Informal procurement (by purchase order)
- 2. Formal procurement (by a request)
50Event Sequence Steps
- Goals
- Tool Objectives
- Acquisition Activities for Informal Procurement
- Acquisition Plan
- Selection Criteria
- Identify Candidate Tools
- User Review of Candidates
- Score Candidates
- Select Tool
- Acquisition Activities for Formal Procurement
- Acquisition Plan
- Technical Requirements Document
- User Review of Requirements
- RFP Generation
- Solicitation of Proposals
- B6 Technical Evaluation should be Consistent
- Source Selection
- Procure Tool
- Evaluation Plan
51Tool Usage
- The most commonly used tools can be grouped
into these eight areas - Automated Regression Testing Tools
- Defect Management Tools
- Performance/Load Testing Tools
- Manual Tools
- Traceability Tools
- Code Coverage
- Test Case Management Tools
- Common tools that are applicable to testing
52Tool Usage (contd)
- Most testing organizations agree that if the
following three guidelines are adhered to tool
usage will be more effective and efficient. - Guideline 1 Testers should not be permitted to
use tools for which they have not received formal
training. - Guideline 2 The use of test tools should be
incorporated into test processes so that the use
of tools is mandatory, not optional. - Guideline 3 Testers should have access to an
individual in their organization, or the
organization that developed the tool, to answer
questions or provide guidance on using the tool.
53Testers Competency
- Test competency is a direct responsibility of the
individual and the organization that employs that
individual. - Software testing organizations should develop a
roadmap for testers to pursue to advance their
competencies. The roadmap will have these two
paths - Skill Sets
- Performance Skills
54This figure is typical of how a software testing
organization may measure an individual
testerscompetency.