41
Managing Global Expansion Of Testing Alan Green, Mentor Graphics, UK T4

Managing Global Expansion Of Testing · Expansion in India n Need to consider local team structure — Need local QA Manager n Recruit the QA Manager and team leaders first — Add

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Managing Global Expansion Of Testing · Expansion in India n Need to consider local team structure — Need local QA Manager n Recruit the QA Manager and team leaders first — Add

Managing Global Expansion Of Testing

Alan Green, Mentor Graphics, UK

T4

Page 2: Managing Global Expansion Of Testing · Expansion in India n Need to consider local team structure — Need local QA Manager n Recruit the QA Manager and team leaders first — Add

Managing Global TestingEurostar 2006

Alan GreenQA ManagerIntegrated Electrical Systems Division (IESD)

Page 3: Managing Global Expansion Of Testing · Expansion in India n Need to consider local team structure — Need local QA Manager n Recruit the QA Manager and team leaders first — Add

Agenda1. Introduction

2. Organization1. IESD QA Organization2. Expansion in India

3. Lifecycle1. IESD Process Model2. IESD Development Lifecycle3. IESD Testing Lifecycle4. Reviews5. Integrating into development

process

4. Infrastructure1. Tool Support2. Environment testing

Page 4: Managing Global Expansion Of Testing · Expansion in India n Need to consider local team structure — Need local QA Manager n Recruit the QA Manager and team leaders first — Add

Introduction

Page 5: Managing Global Expansion Of Testing · Expansion in India n Need to consider local team structure — Need local QA Manager n Recruit the QA Manager and team leaders first — Add

Mentor GraphicsHeadquarters: Wilsonville, Oregon U.S.A.

n 300,000 Square Feet of Office & Laboratory Spacen 3,900 Employees Worldwide

— 1,000 at Wilsonville site

Page 6: Managing Global Expansion Of Testing · Expansion in India n Need to consider local team structure — Need local QA Manager n Recruit the QA Manager and team leaders first — Add

Mentor Graphics – IESD

IESD Offices

Wilsonville,U.S.

Altrincham &Newbury, UK

Hyderabad,India

Page 7: Managing Global Expansion Of Testing · Expansion in India n Need to consider local team structure — Need local QA Manager n Recruit the QA Manager and team leaders first — Add

IESD Markets

Page 8: Managing Global Expansion Of Testing · Expansion in India n Need to consider local team structure — Need local QA Manager n Recruit the QA Manager and team leaders first — Add

Capital Harness Systems (CHS)

n CHS is a suite of tools.n When combined the

tools cover a flow from logical systems design through to wiring harness design and manufacture.

n IESD is split into five teams, each working within a specific part of this flow.

HarnessSolutions

AnalysisSolutions

DesignSolutions

ViewSolutions

EnterpriseSolutions

Page 9: Managing Global Expansion Of Testing · Expansion in India n Need to consider local team structure — Need local QA Manager n Recruit the QA Manager and team leaders first — Add

Organization

Page 10: Managing Global Expansion Of Testing · Expansion in India n Need to consider local team structure — Need local QA Manager n Recruit the QA Manager and team leaders first — Add

IESD QA Organization

Page 11: Managing Global Expansion Of Testing · Expansion in India n Need to consider local team structure — Need local QA Manager n Recruit the QA Manager and team leaders first — Add

Expansion in Indian Need to consider local team structure

— Need local QA Managern Recruit the QA Manager and team leaders first

— Add them to the recruitment process

n Recruit the right mix of skills— QA guys

n Need to recruit some experienced testers— Will provide knowledge/experience to assist other testers— Will ensure that the test process is understood/followed— But may not be familiar with your domain

n Train testers in the use of your applications n Train testers in the domainn Provide marketing contacts who can answer any questions

— Domain guys n Understand the software to be tested but are not used to

“testing”— Can be trained in QA processes— Must sit QA Aptitude tests during interview process

Page 12: Managing Global Expansion Of Testing · Expansion in India n Need to consider local team structure — Need local QA Manager n Recruit the QA Manager and team leaders first — Add

Expansion in India (2)n Plan for several weeks of training

— In your QA processn Provide training in the TMap test processn Train testers in the required test techniques n Provide checklists to help ensure nothing is missed

— In your applications

n Establish a working relationship— Bring main team members to UK for training/staff introductions— Use regular inter-site visits to build the relationship

n Provide guidance & assistance— We initially used UK based QA Team leaders

n Ensure QA process is followedn Allocate tasks n Specify deadlinesn Review deliverables

— Aim for transfer to India based team leadersn Identify future team leaders and ensure they learn the processes you want

used

Page 13: Managing Global Expansion Of Testing · Expansion in India n Need to consider local team structure — Need local QA Manager n Recruit the QA Manager and team leaders first — Add

Keys to successn Communication

— Internal to QA teamn Management reporting

— Important to present QA reports to all teams— Ensure key information is given to all staff

n Status informationn Post release reportsn Results

n Team Working— Ensure you use all tools at your disposal to aid team

working— Greater interaction = Greater success

— Between QA & Developmentn where testers/developers are at different sites

— provide local QA contact to support open issuesn help keep things movingn easy to forget that someone is on another time zone

Page 14: Managing Global Expansion Of Testing · Expansion in India n Need to consider local team structure — Need local QA Manager n Recruit the QA Manager and team leaders first — Add

Additional Benefitsn Working around the clock

— We have been able to use the multi-location of the team to our advantage during some time critical tests/operations.

n S ite’s hand -off to next site at the start of the next day

n Larger team— Lower Staffing costs allow a larger team to be assembled

n Enabled standalone Service Pack test teamn Allowed a larger automation team to be created

Page 15: Managing Global Expansion Of Testing · Expansion in India n Need to consider local team structure — Need local QA Manager n Recruit the QA Manager and team leaders first — Add

Problem Areasn Staff retention in India

— Expect regular turnovern It is the norm to change jobs every 2 years

— Tempting overseas jobsn US/UK based job offers are compelling events

— Expectation of team leadershipn Staff expect to become team leaders in 2 years

n Solutions — Recruit staff whose family is local to office

n This means they are likely to remain in the area— Check past history

n Look for people that have worked overseas alreadyn How often have they changed jobs in the past?

— Demonstrate personal developmentn Provide ISEB Trainingn C reate job roles for “tool experts”n Allow staff to grow into team leading positions

Page 16: Managing Global Expansion Of Testing · Expansion in India n Need to consider local team structure — Need local QA Manager n Recruit the QA Manager and team leaders first — Add

Lifecycle

Page 17: Managing Global Expansion Of Testing · Expansion in India n Need to consider local team structure — Need local QA Manager n Recruit the QA Manager and team leaders first — Add

IESD Process ModelRational Unified Process

Page 18: Managing Global Expansion Of Testing · Expansion in India n Need to consider local team structure — Need local QA Manager n Recruit the QA Manager and team leaders first — Add

IESD Development Lifecycle

n Problems solved— How long should the constructions be?— Which features to put in C1 and which to put in C2?

Inception

Elaboration

Construction

Integration Test / Fix

Transition

Release

Page 19: Managing Global Expansion Of Testing · Expansion in India n Need to consider local team structure — Need local QA Manager n Recruit the QA Manager and team leaders first — Add

IESD Testing Lifecycle

Specification

Execution

Completion

Release

Planning

n Problems solved— How to fit TMap into an iterative cycle?— H ow to m ake the first test execution phase “useful”?— Integration week benefits: Snag meetings, pre-release builds

Page 20: Managing Global Expansion Of Testing · Expansion in India n Need to consider local team structure — Need local QA Manager n Recruit the QA Manager and team leaders first — Add

Detailed Testing LifecycleInception Elaboration Construction Transition

Functionality Development Test/Fix

Planning.

Identify FEATsIdentify QA teamsRisk AssessmentCreate Test PlanReview Test Plan

Page 21: Managing Global Expansion Of Testing · Expansion in India n Need to consider local team structure — Need local QA Manager n Recruit the QA Manager and team leaders first — Add

Test Planningn Tasks

— Identify features to be delivered— Identify inter-dependencies of the features

n Features may affect several tools when completen Q A assign “w hole” feature to ow ning team

— Ensure feature is tested across the flow as a single task— Find the implementation gaps?— Tester needs to understand the whole flow

— Assess the size of development teams in this releasen Developers may have moved teams to allow more functionality

to be added in a particular tooln Aim to make the QA team sizes proportional to development

team sizes on each tool— May need to move testers between tools— Good for x-tool knowledge/understanding

Page 22: Managing Global Expansion Of Testing · Expansion in India n Need to consider local team structure — Need local QA Manager n Recruit the QA Manager and team leaders first — Add

Test Planning (2)n Considerations

— Locations of testersn Try to keep teams of testers in single location

— Same time zones, aids team working, aids knowledge transfer— Experience of testers

n You need a QA lead with good knowledge of relevant applications

— Sometimes one is not available locally so off-site lead is assignedn Need to identify the next local team leadn Aim to enable this person during current releasen Give exposure to team lead activitiesn Allocate higher risk featuresn Invite them to management meetings

— Location of development teamn Is it different to location of QA team?

— Need to assign additional tester to team from development siten Acts as local QA contactn Aids communication and turnaround times

Page 23: Managing Global Expansion Of Testing · Expansion in India n Need to consider local team structure — Need local QA Manager n Recruit the QA Manager and team leaders first — Add

Risk-based testingn Determine the contents of each iterationn Hold a risk assessment for each product team

— based on severity and probabilityn Severity estimated by Marketing (what if not delivered?)n Probability estimated by Development (how complex?)

— Identifies amount of testing required per feature— Establishes an order to testing

n Higher risk = Earlier Test— Record the results in the Test Plan

Med

MedHigh

High

High

Low

Low

Med

Severity of Impact

Probability of Occurrence

Page 24: Managing Global Expansion Of Testing · Expansion in India n Need to consider local team structure — Need local QA Manager n Recruit the QA Manager and team leaders first — Add

Detailed Testing Lifecycle

Specification.

Write Test ConditionsReview Test ConditionsWrite Test CasesPrioritize Test CasesIdentify Test Environments

Inception Elaboration Construction TransitionFunctionality Development Test/Fix

Planning.

Identify FEATsIdentify QA teamsRisk AssessmentCreate Test PlanReview Test Plan

Page 25: Managing Global Expansion Of Testing · Expansion in India n Need to consider local team structure — Need local QA Manager n Recruit the QA Manager and team leaders first — Add

Test Specificationn Test Specification process

— Record test conditions (from use-case and functional spec)— Formal review of test conditions

n Ensure good coverage of testsn Good learning opportunity for new testers

— Document test cases — Prioritize test cases (P1, P2 or P3)

n Maximum 10% can be P1— Make testers really think about priority

n P1 test cases executed in Breadth Testingn P2 & P3 executed in Depth Testing

n Need to ensure Consistency— Use Test Techniques to generate Test Cases— Use a Test Specification template

Page 26: Managing Global Expansion Of Testing · Expansion in India n Need to consider local team structure — Need local QA Manager n Recruit the QA Manager and team leaders first — Add

Detailed Testing Lifecycle

Specification.

Write Test ConditionsReview Test ConditionsWrite Test CasesPrioritize Test CasesIdentify Test Environments

Completion

Defect ValidationRegression TestingMigration TestingCreate Automation scripts

Stabilization

Snag MeetingsConfirm Test Specs

Inception Elaboration Construction TransitionFunctionality Development Test/Fix

Execution.

System Testing•Breath (P1)•Depth (P2 & P3)•Flow testing

Acceptance Testing (MAT)Defect Review MeetingsReport Weekly Metrics

Planning.

Identify FEATsIdentify QA teamsRisk AssessmentCreate Test PlanReview Test Plan

Page 27: Managing Global Expansion Of Testing · Expansion in India n Need to consider local team structure — Need local QA Manager n Recruit the QA Manager and team leaders first — Add

Test Automationn Dedicated Automation team in India

— Team employs java programmers

n Data driven approach being used— Testers use a custom Excel editor to create data files (that drive

tests)n Testers create automation directly from test specificationn Excel editor retrieves information about functions from a database

— Automators write java functions n Functions use a 3rd party tool to operate CHS toolsn Add Function name & parameters to the database

n Flow— Tester creates Excel data file & test data— Tester tests the Excel data file— Testers delivers to automation team

n Automation team own regression suite— Testers responsible for executing the test suite

Page 28: Managing Global Expansion Of Testing · Expansion in India n Need to consider local team structure — Need local QA Manager n Recruit the QA Manager and team leaders first — Add

IESD Testing Lifecycle (2)

Specification.

Write Test ConditionsReview Test ConditionsWrite Test CasesPrioritize Test CasesIdentify Test Environments

Completion

Defect ValidationRegression TestingMigration TestingCreate Automation scripts

Stabilization

Snag MeetingsConfirm Test Specs

Inception Elaboration Construction TransitionFunctionality Development Test/Fix

Execution.

System Testing•Breath (P1)•Depth (P2 & P3)•Flow testing

Acceptance Testing (MAT)Defect Review MeetingsReport Weekly Metrics

Post-release Review

Planning.

Identify FEATsIdentify QA teamsRisk AssessmentCreate Test PlanReview Test Plan

Page 29: Managing Global Expansion Of Testing · Expansion in India n Need to consider local team structure — Need local QA Manager n Recruit the QA Manager and team leaders first — Add

Post release reviewsn IESD hold a post-release review after every release

— Aim: to review and amend our processes for the next release

n Representatives from the following groups present a summary to the meeting:— Marketing, Development, QA, Technical Writers— India technical centre

n We evaluate:— What went well in the release and why?— What went badly and why?

n We seek to gain consensus going forward:— What elements of the process should we ensure that we repeat

consistently?— What do we need to change and how?

n Finally, agree a plan for introduction of agreed measures: who, how & when.

Page 30: Managing Global Expansion Of Testing · Expansion in India n Need to consider local team structure — Need local QA Manager n Recruit the QA Manager and team leaders first — Add

Document Reviewsn Critical part of process

— Especially when teams split around the world

n Dual Purpose— Find defects— Ensure common understanding

n Main documents being reviewed— Use-Cases— Functional Specifications— Test Conditions— Test Plan/Test Schedule— Technical Publications

n Initially used Walkthrough reviews— Some issues:

n Reviews were taking too long— Too many unanswered questions in documents— Too many attendees

n Difficult to ensure consistency across different teams

Page 31: Managing Global Expansion Of Testing · Expansion in India n Need to consider local team structure — Need local QA Manager n Recruit the QA Manager and team leaders first — Add

Document Reviews – Growing Painsn N ext: started to introduce “roles”

— We allocated 2 roles to each meetingn Compare to sourcen Question software limitations

— Aim for more consistency— Aim to solve known problem areas

n Now: Moving to a formal review process— S ix “roles” defined— C reated a “pool” of staff from each team for each “role”— R eview ers are selected from the “pool” w hen m eeting is arranged— Entry criteria established for review process— Meeting is more controlled with less discussion allowed

Page 32: Managing Global Expansion Of Testing · Expansion in India n Need to consider local team structure — Need local QA Manager n Recruit the QA Manager and team leaders first — Add

Integrating into development processn Helping provide added value to whole development

lifecycle— Same process for all sites— Aim to build quality into the tools

n Examples— Requirements

n Use-case templates— Development

n Functional specification templaten Static Analysis of coden Automated Unit Testsn User Interface checklist

Page 33: Managing Global Expansion Of Testing · Expansion in India n Need to consider local team structure — Need local QA Manager n Recruit the QA Manager and team leaders first — Add

QA Regression Suite Usagen Initially regression suite used only on executables by testers.

n Problem: Needed a way to establish some entry-criteria for system testing.— Ensure basic functionality working.— R em o ve “false starts” from test execution.

n Solution: Introduce regression suite to the development environment.— H ad to create som e “developm ent environm ent” specific startup

scripts.

n Automation suite now executed nightly in development environment.— At all 4 development sites.— On local code base for that site (before delivery to mainline).— Unit tests and regression suite are executed.— Automated emails sent when incident occurs.

Page 34: Managing Global Expansion Of Testing · Expansion in India n Need to consider local team structure — Need local QA Manager n Recruit the QA Manager and team leaders first — Add

Tracking the status of release featuresn Problem: How to monitor that the process is being

followed by everyone and identify exact status of each feature?

n Solution: Internal system created to track features through the lifecycle— Identifies features selected for a particular release

n Tracks Marketing, Dev, QA, Tech Author activities— System provides:

n Links to all documentation during the lifecyclen Identifies key staff working on this FEATn A utom ated em ails on “state” changen Mandatory fields ensure minimum information is enteredn Web interface for all sitesn Custom reports available

Page 35: Managing Global Expansion Of Testing · Expansion in India n Need to consider local team structure — Need local QA Manager n Recruit the QA Manager and team leaders first — Add

Infrastructure

Page 36: Managing Global Expansion Of Testing · Expansion in India n Need to consider local team structure — Need local QA Manager n Recruit the QA Manager and team leaders first — Add

Tool Supportn Important to use same tools at all sites to ensure consistency

n Consider:— Availability

n Tools must be available 24 hours a day.— Accessibility

n Tools with a good web interface are easier to use and implement for everyone.

— Performancen It is important that all tools perform equally well at all sites.

— Processn The process for using the tool must be documented to ensure

consistent multi site use of a tool— Licensing

n Global licenses can help save money when working in multiple time zones.

— Commitmentn Management at all sites must be committed to use of the tools.

Page 37: Managing Global Expansion Of Testing · Expansion in India n Need to consider local team structure — Need local QA Manager n Recruit the QA Manager and team leaders first — Add

Where do IESD use tool support?n Code Development

— Single Java IDE used by all developersn Makes training of new staff consistent & allows a single training course to be

createdn Allow standardised set of checks for Static Analysis

n Configuration Management— Single tool used for CM

n Only a single process need be definedn Ensures code from all sites can be combined

n Defect Management— Single tool used for DM

n Lifecycle is defined and process documentedn Tool helps enforce the defect lifecylen Tool has excellent web interfacen Used by developers, users, customer support and QA

Page 38: Managing Global Expansion Of Testing · Expansion in India n Need to consider local team structure — Need local QA Manager n Recruit the QA Manager and team leaders first — Add

Where do IESD use tool support? (2)n Test Automation

— Standard tools allow automation to be used at all sites— Automation process is documented for automation team and testers

n Time Tracking— Web based time tracking system chosen

n Provides input for release metrics and trackingn IESD can report on time spent per activity post releasen Used to improve estimation

n Document Management— Web based document management system

n Allows fast access to documents from all sitesn Documents stored on ftp servern Access can be controlled to each document

Page 39: Managing Global Expansion Of Testing · Expansion in India n Need to consider local team structure — Need local QA Manager n Recruit the QA Manager and team leaders first — Add

Environment Testingn Aim: To test CHS on maximum number of supported

environments & configurations during test execution.

n Factors: QA teams at multiple sites gives greater flexibility for simultaneous testing.

n Ensure test team has access to mix of supported hardware/software configurations.

n But ensure test environments are not duplicated across the sites.

n Solution: Use environment test plan to detail environments to be tested per location per week— Prioritise H/M/L based on classification data.— Allocate configurations to sites based on hardware available at that

site.— Assign test execution week numbers to the configurations.— Tester at each site responsible for setting up weekly environments.— Arrange purchase & install of new hardware/software as needed.

n Cost of hardware may not be same? Maybe from a different budget?

Page 40: Managing Global Expansion Of Testing · Expansion in India n Need to consider local team structure — Need local QA Manager n Recruit the QA Manager and team leaders first — Add
Page 41: Managing Global Expansion Of Testing · Expansion in India n Need to consider local team structure — Need local QA Manager n Recruit the QA Manager and team leaders first — Add