qa/test engineering perspectives
TRANSCRIPT
QA/Test Engineering Perspectives
Roopesh Kohad
Email: [email protected]
LinkedIn: http://in.linkedin.com/in/roopeshkohad
Presented by
AgendaQA in Traditional Software
DevelopmentModern Software DevelopmentTest Engineering perspective
◦Roles & Responsibility
QA in Traditional Software Development
QA only at the end of long development cycle
No effort to educate QA on product & quality criterion
Scripted tests, test design different than test execution
Mostly black-box testing or UI automation
Dogmatic, process-heavy, labor-intensive, and time-consuming
Pressure to meet deadline even after Development spill over
QA in Traditional Software Development
Not considered an engineering discipline
Not considered a stakeholder in the product
Seen more as cost/liability than an asset
Modern Software Development
Software development has become agile (“literally”)
Rapid development & deployment thanks to software moving to “Cloud”
Complex design/architecture(as against features)
Increased competition & Reduced Time to Market
Constantly changing scope (feedback loop)
Little or no documentation
Paradigm ShiftQuality is collective responsibilityTesting != QualityEveryone has to test not just QATesting isn’t a separate practice, it is
part of the developmentTesting should be an act of
prevention than detection
Why – Developer Productivity?
Quality would come through better code
Better code through emphasis on code quality
Better code through optimum utilization of time
Less time to test, integrate & less rework
How - Developer Productivity?
Test Frameworks for every type of tests
Easy to author & run testsQuick results, better CI turnaroundEncourages developers to write
better tests for their code
Why - Test Engineer Productivity
Free him to do Exploratory testing instead of running regression
Focus on risk & other quality criterion
Should not be caught with regression testing
How – Test Engineer Productivity
Functional / End-to-End test automation to take care of regressions
Quick deployment or environment setup
Tools to aid Exploratory tests & Analysis
Team ProductivityCollaboration tools & processesTools to provide consistent view of
state of the product across teamDocumentation
SET - ProfileEnabler of good testing for other
engineers – Developers and Test Engineers
Understands technical debt of the product
Creative & strive for continuous improvement
Jack of all trades / Wears multiple hats / all rounder
SET - ResponsibilityAnything to enhance developer/tester/team
productivityReview design and look closely at code quality
and riskReview test cases authored by other
engineersRefactor code to increase code quality and
testabilityWrite unit/integration/functional testing
frameworksIncrease test coverage by looking code
coverage
SET - ResponsibilityResponsible for Developer/Tester tool chain
◦ Build Tools◦ Continuous Integration/Testing/Deployment◦ Test Frameworks◦ LOB Tools◦ Custom tools
SET - SkillsSame as developer with someone
who is passionate to testWell-versed with diverse
technologies and make them work together
Test Engineer - ProfileUse the product on behalf of the
end customersBe a product experts and
understand the value proposition of the product
Understand the customer and be a customer advocate
Focus is on user impact and risk to the overall mission of the software product
Creative & power user of product
Exploratory TestingUnscripted but not aimless, more
like mind mappingNext test to execute is not obvious
and depends on the current stateUseful in complex situations when
little is known about the product
Crowd SourcingCan’t depend on TE(s) to find every
issueWhy is it important?
◦Heterogeneity◦Good sample of external world
Bug BashTools to make crowdsourcing simple
◦Surveys◦IM◦Forums
SummaryQuality of the product is collective
responsibilityDevelopers need to testTest Engineers own quality from
customer standpointTest Engineering enhance developer &
test engineer productivityStakeholders need to be onboard with
Test Engineering The thought-process is inline with Agile
spirit
Thank You!Further Reading – How Google Tests
softwareFeedback
◦[email protected]◦Roopesh.kohad (skype)