SlideShare a Scribd company logo
1 of 36
Are	
  you	
  getting	
  traction?
Tales	
  from	
  the	
  tech	
  transfer	
  trenches
Satish	
  Chandra,	
  PhD
June	
  25,	
  2015
Acknowledgments:	
  Saurabh Sinha (IBM),	
  Leigh	
  Williamson(IBM),	
   Indradeep Ghosh (Fujitsu),	
   Jim	
  Larus (EPFL)
Disclaimer
• Personal	
  account
– Not	
  speaking	
  for	
  IBM
– Nor	
  for	
  Samsung
• Talk	
  material	
  from	
  published	
  sources	
  and	
  from	
  
memory
– Might	
  have	
  misremembered	
  some	
  details
Wearing	
  two	
  hats
• Industry	
  research
– Research
– Business	
  impact
http://cacm.acm.org/blogs/blog-­‐cacm/97467-­‐research-­‐
in-­‐the-­‐wild-­‐making-­‐research-­‐work-­‐in-­‐industry/fulltext
“Phase	
  1.	
  Hire	
  PhDs
Phase	
  2.	
  ???
Phase	
  3.	
  Profit!”
My	
  background
• 11	
  years	
  at	
  IBM	
  Research
– T.	
  J.	
  Watson	
  Research	
  Center	
  and IBM	
  India	
  Research	
  Lab
• Multiple	
  tech	
  transfer	
  efforts
– Deployment	
  of	
  test	
  automation	
  in	
  services
– Shipping	
  products	
  involving	
  static	
  analysis	
  technology
– Internal	
  deployment	
  of	
  bug-­‐finding	
  tools
– and	
  some	
  more…
Impact	
  recognized	
  by	
  the	
  company	
  by	
  corporate	
  awards
Acknowledgements:	
   This	
  work	
  was	
  done	
  by	
  a	
  large	
  cast	
  of	
  people	
  from	
  IBM	
  India	
  and	
  
T.	
  J.	
  Watson	
  labs,	
  and	
  with	
  a	
  lot	
  of	
  support	
  from	
  the	
  respective	
  management	
  chains
Outline
• Deployment	
  of	
  test	
  automation	
  in	
  “services”
• Internal	
  deployment	
  of	
  bug-­‐finding	
  tools
Some	
  large	
  software	
  businesses
Logos	
  are	
  properties	
  of	
  respective	
  companies 6
Product	
  businesses
7
Service	
  businesses
8
Bangalore,	
  2010
• Large	
  services	
  presence
• Of	
  which,	
  a	
  large	
  testing	
  practice
• Selected	
  test	
  automation	
  as	
  a	
  research	
  topic
– 1/3rd of	
  the	
  net	
  testing	
  services	
  business
– Many	
  other	
  problems	
  (see	
  paper	
  below)
Software	
  Services:	
  a	
  research	
  roadmap in	
  Future	
  of	
  Software	
  Engineering,	
  2014
Test	
  Automation
• Web	
  sites	
  have	
  to	
  be	
  tested
• Over	
  and	
  over	
  again	
  …
– Change	
  in	
  application	
  – UI	
  or	
  backend
– Change	
  in	
  browser	
  version
– Across	
  browser
– Platform	
  (PC,	
  tablet,	
  etc.)
• Not	
  a	
  core	
  interest	
  of	
  companies,	
  say,	
  in	
  financial	
  or	
  
manufacturing	
  sectors
– Often	
  candidate	
  for	
  sending	
  to	
  third-­‐party	
  service	
  
providers
11
What	
  is	
  Test	
  Automation?
Test
Automation
1.Launch	
  the	
  application	
  through	
  the	
  link	
  
http://godel.in.ibm.com:8080/online-­‐
bookstore/Default.jsp
2.Enter	
  the	
  intended	
  book	
  search	
  name	
  as	
  “MySQL”
at	
  the	
  “Title” Edit	
  field	
  and	
  select	
  “Category” as	
  
“All” by	
  Drop	
  down	
  list	
  and	
  then	
  Click	
  “Search”
Button
3.Select	
  a	
  title	
  from	
  the	
  list	
  of	
  all	
  Search	
  Results	
  
displayed	
  and	
  then	
  click	
  either	
  on	
  the	
  image	
  of	
  the	
  
book	
  or	
  on	
  Name	
  of	
  the	
  Book
4.Enter	
  login	
  “guest” and	
  password	
  “guest”,	
  and	
  click	
  
login
5.Enter	
  the	
  Quantity	
  “1” and	
  Click	
  on	
  “Add	
  to	
  
Shopping	
  Cart” Button
public	
  void	
  setUp()	
  throws	
  Exception	
  {
driver	
  =	
  new	
  FirefoxDriver();
driver.manage().timeouts().
implicitlyWait(30,	
   TimeUnit.SECONDS);
}
public	
  void	
  test()	
  throws	
  Exception	
  {
driver.get("/online-­‐bookstore/Default.jsp");
driver.findElement(By.name("n")).clear();
driver.findElement(By.name("n")).sendKeys("mysql");
driver.findElement(By.cssSelector(
"input[type=“submit"]")).click();
driver.findElement(By.xpath("//tr[2]//font")).click();
driver.findElement(By.name("Login")).clear();	
  
driver.findElement(By.name("Login")).send("guest");
driver.findElement(By.name("Pass")).clear();	
  	
  
driver.findElement(By.name("Pass")).send	
   ("guest");
…
Manual
Test	
  Cases Automated
Test	
  Scripts
12
Is	
  Test	
  Automation	
  a	
  Significant	
  
Problem?
Test
Automation
1.Launch	
  the	
  application	
  through	
  the	
  link	
  
http://godel.in.ibm.com:8080/online-­‐
bookstore/Default.jsp
2.Enter	
  the	
  intended	
  book	
  search	
  name	
  as	
  “MySQL”
at	
  the	
  “Title” Edit	
  field	
  and	
  select	
  “Category” as	
  
“All” by	
  Drop	
  down	
  list	
  and	
  then	
  Click	
  “Search”
Button
3.Select	
  a	
  title	
  from	
  the	
  list	
  of	
  all	
  Search	
  Results	
  
displayed	
  and	
  then	
  click	
  either	
  on	
  the	
  image	
  of	
  the	
  
book	
  or	
  on	
  Name	
  of	
  the	
  Book
4.Enter	
  login	
  “guest” and	
  password	
  “guest”,	
  and	
  click	
  
login
5.Enter	
  the	
  Quantity	
  “1” and	
  Click	
  on	
  “Add	
  to	
  
Shopping	
  Cart” Button
public	
  void	
  setUp()	
  throws	
  Exception	
  {
driver	
  =	
  new	
  FirefoxDriver();
driver.manage().timeouts().
implicitlyWait(30,	
   TimeUnit.SECONDS);
}
public	
  void	
  test()	
  throws	
  Exception	
  {
driver.get("/online-­‐bookstore/Default.jsp");
driver.findElement(By.name("name")).clear();	
  	
  	
  	
  	
  
driver.findElement(By.name("name")).sendKeys("mysql");
driver.findElement(By.cssSelector("input[type="submit"]")).click();
driver.findElement(By.xpath("//tr[2]/td[2]/a/font")).click();
driver.findElement(By.name("Login")).clear();
driver.findElement(By.name("Login")).sendKeys("guest");
driver.findElement(By.name("Password")).clear();
driver.findElement(By.name("Password")).sendKeys("guest");
driver.findElement(By.cssSelector("input[type="submit"]")).click();
…
}
Manual
Test	
  Cases Automated
Test	
  Scripts
§ Real	
  applications	
  can	
  have	
  thousands	
  of	
  manual	
  tests	
  (≈	
  
30,000	
  manual	
  tests),	
  requiring	
   regression	
  cycles	
  that	
  
can	
  run	
  into	
  a	
  few	
  months
§ Efficient	
  and	
  effective	
  regression	
  testing	
  requires	
  
automated	
  test	
  execution
§ However,	
  test	
  automation	
  comes	
  with	
  costs
Ø Initial	
  cost: automation	
  is	
  time-­‐consuming	
  and	
  requires	
  
specialized	
  skills
Ø Maintenance	
  cost:	
  small	
  changes	
  in	
  the	
  user	
  interface	
  can	
  
break	
  the	
  automated	
  scripts
13
Automating	
  Test	
  Automation	
  (ATA)
1.Launch	
  the	
  application	
  through	
  the	
  link	
  
http://godel.in.ibm.com:8080/online-­‐
bookstore/Default.jsp
2.Enter	
  the	
  intended	
  book	
  search	
  name	
  as	
  
“MySQL” at	
  the	
  “Title” Edit	
  field	
  and	
  select	
  
“Category” as	
  “All” by	
  Drop	
  down	
  list	
  and	
  
then	
  Click	
  “Search” Button
3.Select	
  a	
  title	
  from	
  the	
  list	
  of	
  all	
  Search	
  Results	
  
displayed	
  and	
  then	
  click	
  either	
  on	
  the	
  image	
  of	
  
the	
  book	
  or	
  on	
  Name	
  of	
  the	
  Book
4.Enter	
  login	
  “guest” and	
  password	
  “guest”,	
  
and	
  click	
  login
5.Enter	
  the	
  Quantity	
  “1” and	
  Click	
  on	
  “Add	
  to	
  
Shopping	
  Cart” Button
6.Verify	
  whether	
  Order	
  #	
  and	
  Total	
  are	
  displayed
Test	
  Script
ATA
• Semi-­‐automatic	
  conversion	
  of	
  English	
  sentences	
  to	
  scripts	
  
– Using	
  lightweight	
  NLP
– Program	
  synthesis	
  approach
• Addressed	
  the	
  script	
  fragility	
  problem
– A	
  robust,	
  mostly	
  DOM-­‐independent	
  script	
  representation
Pros:	
  
• Lower	
  cost	
  entry	
  to	
  test	
  automation
• Reduced	
  need	
  for	
  test	
  maintenance
And	
  that	
  was	
  the	
  start	
  of	
  our	
  troubles	
  …
Automating	
  Test	
  Automation in	
  International	
  
Conference	
  on	
  Software	
  Engineering,	
   2012
The	
  sales	
  job
• Research	
  ‘cred’	
  opens	
  the	
  doors
• Contacted	
  a	
  large	
  number	
  of	
  client	
  accounts
?
Where	
  the	
  rubber	
  meets	
  the	
  road	
  …
• Real	
  world	
  situations
– Badly	
  written	
  manual	
  tests,	
  missing	
  steps
– Conditional	
  flows,	
  exceptions
– Verification	
  steps
– UI	
  change	
  resilience
– …
• “ATA	
  can’t	
  handle	
  this”	
  was	
  a	
  deal	
  breaker
The	
  pushback
• Delivery	
  managers	
  are	
  conservative
– “Client	
  will	
  not	
  allow	
  this	
  new	
  tool”
– “Already	
  have	
  a	
  framework”
– “We	
  might	
  need	
  to	
  work	
  with	
  other	
  vendors”
– Incentivized	
  for	
  what?	
  Predictable,	
  timely	
  delivery
• The	
  “Look,	
  how	
  easy”	
  pitch	
  wasn’t	
  working
– Need	
  to	
  articulate	
  the	
  value	
  – R.O.I.	
  analysis
– Chicken	
  and	
  egg	
  problem
Vive	
  le	
  ROI
• Costs
– How	
  long	
  does	
  it	
  take	
  for	
  a	
  tester	
  to	
  be	
  trained	
  in	
  ATA?
– Unproven	
  research	
  tool,	
  produces	
  non-­‐standard	
  artifacts,	
  
risk	
  of	
  wasted	
  work	
  – financial	
  repercussions
– Are	
  we	
  billing	
  for	
  person	
  hours	
  or	
  for	
  number	
  of	
  tests?
• Benefits
– How	
  much	
  more	
  effective	
  is	
  a	
  tester	
  on	
  ATA,	
  relative	
  to	
  
status	
  quo
• Tests	
  automated	
  /	
  tester	
  /	
  day
– How	
  much	
  does	
  ATA	
  reduce	
  the	
  need	
  of	
  test	
  repair?	
  
The	
  first	
  sale	
  is	
  the	
  hardest	
  …
• Found	
  one	
  sympathetic	
  team	
  for	
  an	
  internal	
  account	
  
(non	
  customer)
– Needed	
  to	
  automate	
  ~	
  7000	
  test	
  cases	
  in	
  a	
  short	
  amount	
  
of	
  time
– Allowed	
  us	
  to	
  collect	
  some	
  citable	
  data	
  …	
  even	
  if	
  there	
  are	
  
a	
  lot	
  of	
  caveats
• We provided	
  excellent	
  customer	
  support
– This	
  proved	
  to	
  be	
  a	
  very	
  good	
  thing	
  …
20
Evaluation	
  in	
  a	
  Production	
  Environment
Previous	
  Automation	
  
Experience
The	
  ATA	
  Experience
939	
  scripts	
  automated	
  at	
  the	
  rate	
  of	
  
3	
  to	
  5	
  test	
  cases	
  per	
  tester	
  per	
  day	
  
(in	
  10	
  months)
583	
  test	
  cases	
  automated	
  at	
  the	
  rate	
  of	
  
10	
  test	
  cases	
  per	
  tester	
  per	
  day	
  (2X	
  
productivity	
  gain)
Longer	
  learning	
  curve	
  before	
  test	
  
engineer	
  can	
  start	
  automating
Very	
  short	
  (roughly	
  1	
  to	
  2	
  days)	
  time	
  
required	
  to	
  start	
  contributing
Scripts	
  break	
  when	
  UI	
  elements	
  are	
  
moved
Scripts	
  are	
  automatically	
  repaired	
  
during	
  execution	
  if	
  UI	
  elements	
  are	
  
moved
… …
20
Your	
  mileage	
  will vary	
  ….
Efficient	
  and	
  change-­‐resilient	
  test	
  automation:	
  an	
  industrial	
  case	
  study in	
  ICSE	
  2013
Connecting	
  with	
  new	
  accounts
• Get	
  the	
  sales	
  team	
  on	
  board	
  with	
  the	
  idea
– Their	
  incentive	
  is	
  to	
  sell	
  the	
  client	
  on	
  service	
  quality
– Negate	
  the	
  “client	
  does	
  not	
  want	
  it”	
  argument
• Much	
  better	
  scaling	
  of	
  sales	
  job
– We	
  graduated	
  from	
  talking	
  to	
  measly	
  delivery	
  managers	
  to	
  
high	
  powered	
  CIOs	
  or	
  their	
  delegates
– Heady	
  stuff
• Better	
  traction
The	
  last	
  mile?
• Significant	
  overhead	
  in	
  customizing	
  the	
  tool	
  to	
  each	
  
client’s	
  liking
– Tool	
  and	
  process	
  compatibility
• Research	
  tools	
  do	
  not	
  control	
  end-­‐to-­‐end	
  processes;	
  they	
  only	
  solve	
  
a	
  slice	
  of	
  the	
  problem
• Export	
  to	
  XXX
• Interoperate	
  with	
  YYY
– Lot	
  of	
  installation,	
  handholding,	
  workshops	
  etc.
– Much	
  more	
  demanding	
  of	
  in-­‐house	
  tools	
  than	
  of	
  off-­‐the-­‐
shelf	
  tools!
– On	
  call
The	
  last	
  N-­‐1	
  miles
Idea
Works	
  
on	
  
bench-­‐
marks
Works	
  on	
  
real	
  world	
  
code
Show	
  positive	
  
return	
  on	
  
investment
Tool	
  usable
by	
  others
*	
  Paper
Retrospective
24
The	
  conundrum	
  of	
  services
• Clients	
  want	
  innovation,	
  but	
  also	
  want	
  predictable	
  
delivery	
  of	
  a	
  project
• Researchers	
  are	
  expected	
  to	
  build	
  tools	
  that
– Have	
  zero	
  learning	
  curve
– Cause	
  no	
  change	
  to	
  process
– Are	
  magical in	
  their	
  effectiveness
• Differentiating,	
  home-­‐grown	
  technology	
  sounds	
  
good,	
  but	
  doesn’t	
  always	
  match	
  the	
  business
Outline
• Deployment	
  of	
  test	
  automation	
  in	
  “services”
• Internal	
  deployment	
  of	
  bug-­‐finding	
  tools
New	
  York,	
  2006
• Bug	
  finding	
  was	
  in	
  the	
  air
– Every	
  interview	
  talk	
  referred	
  to	
  a	
  certain	
  NIST	
  study	
  – 50B	
  
USD	
  lost	
  annually	
  to	
  bugs!
2006
Perception
• What	
  are	
  the	
  inhibitors	
  to	
  adoption?
– Too	
  many	
  false	
  positives
– Not	
  all	
  reports	
  may	
  be	
  actionable
– Too	
  many	
  tools	
  out	
  there,	
  which	
  ones	
  to	
  pick
– Too	
  much	
  overhead	
  in	
  installing	
  and	
  maintaining	
  tools
– Developers	
  don’t	
  understand	
  the	
  reason	
  for	
  bug	
  report
• What	
  if	
  we	
  mitigated	
  all	
  of	
  these	
  issues?
Khasiana:	
  A	
  bug	
  catching	
  portal
• Bug	
  finding	
  as	
  a	
  service	
  on	
  the	
  cloud
• Easy	
  upload	
  from	
  code	
  repositories
• Integrated	
  presentation	
  of	
  output	
  of	
  multiple	
  tools
– FindBugs,	
  SAFE,	
  Xylem
• Symbolic	
  analysis	
  to	
  filter	
  out	
  false	
  positives
• Bug	
  explanation
• Heuristic	
  ranking	
  of	
  bug	
  severity
• We	
  assumed	
  if	
  you	
  build	
  it,	
  they	
  will	
  come
Making	
  defect-­‐finding	
   tools	
  work	
  for	
  you in	
  ICSE	
  2010
They	
  did	
  not.	
  (Not	
  in	
  droves.)
• Was	
  the	
  technology	
  bad?
• Was	
  the	
  marketing	
  bad?
• Was	
  the	
  deployment	
  bad?
• Was	
  the	
  timing	
  bad?
The	
  same	
  old	
  R.O.I	
  discussion
• Costs
– Time	
  to	
  triage	
  the	
  bug	
  reports	
  – possible	
  increase in	
  time	
  
to	
  release
– Developers	
  not	
  incentivized	
  on	
  code	
  cleanliness	
  (deadline	
  
driven)
– Opportunity	
  costs	
  – features	
  vs.	
  bug	
  fixes
• Benefit
– Reduction	
  in	
  likelihood	
  of	
  field	
  defects
• But	
  we	
  failed	
  to	
  present	
  compelling	
  evidence	
  of	
  this
A	
  few	
  billion	
  lines	
  of	
  code	
  later:	
  using	
  static	
  analysis	
  to	
  find	
  bugs	
  in	
  the	
  real	
  world in	
  CACM	
  
vol 53	
  issue 2
True  positives
False  positives
Defects  someone  
cares  enough  to  fix
Reports  from  a  sound  
analysis
Reports  from  a  good  
unsound  analysis
Small	
  percentage	
  of	
  the	
  ‘real’ bugs
are	
  found	
  by	
  good	
  analysis-­‐based	
  tool
Some	
  more	
  observations
• IDE	
  vs.	
  build
• Top	
  down	
  vs.	
  service	
  vs.	
  self-­‐service
• Enterprise	
  vs.	
  safety-­‐critical
• ‘Old’	
  vs.	
  ‘new’	
  code
• Other	
  defect	
  categories?	
  (performance,	
  security,	
  …)
Getting	
  software	
  tools	
  adopted	
  is	
  hard
The	
  last	
  N-­‐1	
  miles	
  will	
  test	
  your	
  patience.
Someone	
  will	
  ask	
  you	
  about	
  ROI.	
  Have	
  an	
  answer.
Pick	
  the	
  right	
  problem.1
2
3
Be	
  mindful	
  of	
  the	
  incentive	
  structures.4
Are	
  you	
  getting	
  traction?

More Related Content

What's hot

BPSim The Technical Support Use Case
BPSim The Technical Support Use CaseBPSim The Technical Support Use Case
BPSim The Technical Support Use CaseDenis Gagné
 
Digital transformation testing.
Digital transformation testing. Digital transformation testing.
Digital transformation testing. Deepak Daniel
 
Agile Introduction
Agile IntroductionAgile Introduction
Agile IntroductionAdrian Smith
 
Managing Successful Test Automation
Managing Successful Test AutomationManaging Successful Test Automation
Managing Successful Test AutomationTechWell
 
Automation Responsibility
Automation ResponsibilityAutomation Responsibility
Automation ResponsibilityZbyszek Mockun
 

What's hot (6)

BPSim The Technical Support Use Case
BPSim The Technical Support Use CaseBPSim The Technical Support Use Case
BPSim The Technical Support Use Case
 
Digital transformation testing.
Digital transformation testing. Digital transformation testing.
Digital transformation testing.
 
Spec by-example
Spec by-exampleSpec by-example
Spec by-example
 
Agile Introduction
Agile IntroductionAgile Introduction
Agile Introduction
 
Managing Successful Test Automation
Managing Successful Test AutomationManaging Successful Test Automation
Managing Successful Test Automation
 
Automation Responsibility
Automation ResponsibilityAutomation Responsibility
Automation Responsibility
 

Viewers also liked

Wikimedia recommendation
Wikimedia recommendationWikimedia recommendation
Wikimedia recommendationYash Nagar
 
Сила за Кариера - Мисия, Контекст, Дълг, Свобода - част 1/2
Сила за Кариера - Мисия, Контекст, Дълг, Свобода - част 1/2Сила за Кариера - Мисия, Контекст, Дълг, Свобода - част 1/2
Сила за Кариера - Мисия, Контекст, Дълг, Свобода - част 1/2Yasen Nikolov
 
Madurar o no madurar: ventajas e inconvenientes de los distintos procesos de ...
Madurar o no madurar: ventajas e inconvenientes de los distintos procesos de ...Madurar o no madurar: ventajas e inconvenientes de los distintos procesos de ...
Madurar o no madurar: ventajas e inconvenientes de los distintos procesos de ...Mauro Vitale, PhD
 
Cv&portfolio monicasantos
Cv&portfolio monicasantosCv&portfolio monicasantos
Cv&portfolio monicasantosMonica Santos
 
Fia wtcc russia live streaming
Fia wtcc russia live streamingFia wtcc russia live streaming
Fia wtcc russia live streamingdale_deyn
 
Remote Management of OSGi Runtimes - Joachim Ritter, Project Manager, ProSyst...
Remote Management of OSGi Runtimes - Joachim Ritter, Project Manager, ProSyst...Remote Management of OSGi Runtimes - Joachim Ritter, Project Manager, ProSyst...
Remote Management of OSGi Runtimes - Joachim Ritter, Project Manager, ProSyst...mfrancis
 
A Női erő - Legyünk önmagunk könnyedén és természetesen! Ösztönözzünk minden ...
A Női erő - Legyünk önmagunk könnyedén és természetesen! Ösztönözzünk minden ...A Női erő - Legyünk önmagunk könnyedén és természetesen! Ösztönözzünk minden ...
A Női erő - Legyünk önmagunk könnyedén és természetesen! Ösztönözzünk minden ...Yasen Nikolov
 
Да обяздим дракона - овладяване на пречките и проблемите по пътя към успеха
Да обяздим дракона - овладяване на пречките и проблемите по пътя към успехаДа обяздим дракона - овладяване на пречките и проблемите по пътя към успеха
Да обяздим дракона - овладяване на пречките и проблемите по пътя към успехаYasen Nikolov
 
Музичне мистецтво. 7 клас. Класика української пісні. Панорама сучасного му...
Музичне мистецтво. 7 клас.   Класика української пісні. Панорама сучасного му...Музичне мистецтво. 7 клас.   Класика української пісні. Панорама сучасного му...
Музичне мистецтво. 7 клас. Класика української пісні. Панорама сучасного му...Електронні книги Ранок
 
Франція за часів Людовіка XIV або Завершення формування абсолютної монархії у...
Франція за часів Людовіка XIV або Завершення формування абсолютної монархії у...Франція за часів Людовіка XIV або Завершення формування абсолютної монархії у...
Франція за часів Людовіка XIV або Завершення формування абсолютної монархії у...Електронні книги Ранок
 

Viewers also liked (17)

Wikimedia recommendation
Wikimedia recommendationWikimedia recommendation
Wikimedia recommendation
 
Autoformas
AutoformasAutoformas
Autoformas
 
iRviN pOrtFoliO 16
iRviN pOrtFoliO 16iRviN pOrtFoliO 16
iRviN pOrtFoliO 16
 
Сила за Кариера - Мисия, Контекст, Дълг, Свобода - част 1/2
Сила за Кариера - Мисия, Контекст, Дълг, Свобода - част 1/2Сила за Кариера - Мисия, Контекст, Дълг, Свобода - част 1/2
Сила за Кариера - Мисия, Контекст, Дълг, Свобода - част 1/2
 
Madurar o no madurar: ventajas e inconvenientes de los distintos procesos de ...
Madurar o no madurar: ventajas e inconvenientes de los distintos procesos de ...Madurar o no madurar: ventajas e inconvenientes de los distintos procesos de ...
Madurar o no madurar: ventajas e inconvenientes de los distintos procesos de ...
 
Cv&portfolio monicasantos
Cv&portfolio monicasantosCv&portfolio monicasantos
Cv&portfolio monicasantos
 
Fia wtcc russia live streaming
Fia wtcc russia live streamingFia wtcc russia live streaming
Fia wtcc russia live streaming
 
Glosario tema 9
Glosario tema 9Glosario tema 9
Glosario tema 9
 
Andamio 2 om
Andamio 2 omAndamio 2 om
Andamio 2 om
 
Remote Management of OSGi Runtimes - Joachim Ritter, Project Manager, ProSyst...
Remote Management of OSGi Runtimes - Joachim Ritter, Project Manager, ProSyst...Remote Management of OSGi Runtimes - Joachim Ritter, Project Manager, ProSyst...
Remote Management of OSGi Runtimes - Joachim Ritter, Project Manager, ProSyst...
 
A Női erő - Legyünk önmagunk könnyedén és természetesen! Ösztönözzünk minden ...
A Női erő - Legyünk önmagunk könnyedén és természetesen! Ösztönözzünk minden ...A Női erő - Legyünk önmagunk könnyedén és természetesen! Ösztönözzünk minden ...
A Női erő - Legyünk önmagunk könnyedén és természetesen! Ösztönözzünk minden ...
 
Да обяздим дракона - овладяване на пречките и проблемите по пътя към успеха
Да обяздим дракона - овладяване на пречките и проблемите по пътя към успехаДа обяздим дракона - овладяване на пречките и проблемите по пътя към успеха
Да обяздим дракона - овладяване на пречките и проблемите по пътя към успеха
 
AI04 ISO/IEC 27001
AI04 ISO/IEC 27001AI04 ISO/IEC 27001
AI04 ISO/IEC 27001
 
Indian japanese
Indian japaneseIndian japanese
Indian japanese
 
Музичне мистецтво. 7 клас. Класика української пісні. Панорама сучасного му...
Музичне мистецтво. 7 клас.   Класика української пісні. Панорама сучасного му...Музичне мистецтво. 7 клас.   Класика української пісні. Панорама сучасного му...
Музичне мистецтво. 7 клас. Класика української пісні. Панорама сучасного му...
 
Франція за часів Людовіка XIV або Завершення формування абсолютної монархії у...
Франція за часів Людовіка XIV або Завершення формування абсолютної монархії у...Франція за часів Людовіка XIV або Завершення формування абсолютної монархії у...
Франція за часів Людовіка XIV або Завершення формування абсолютної монархії у...
 
Hipervinculos 1 k
Hipervinculos 1 kHipervinculos 1 k
Hipervinculos 1 k
 

Similar to Are you getting traction - Tales from the tech transfer trenches

WEBINAR: To Automate or Not to Automate
WEBINAR: To Automate or Not to AutomateWEBINAR: To Automate or Not to Automate
WEBINAR: To Automate or Not to AutomateRainforest QA
 
To Automate or Not to Automate
To Automate or Not to Automate To Automate or Not to Automate
To Automate or Not to Automate Stephanie Abe
 
MFG4 2016 - Is Automation Right for Your Company - 4-2016
MFG4 2016 -  Is Automation Right for Your Company - 4-2016MFG4 2016 -  Is Automation Right for Your Company - 4-2016
MFG4 2016 - Is Automation Right for Your Company - 4-2016Craig Salvalaggio
 
AUTOMATE 2015 - Is Automation Right for Your Company - Craig Salvalaggio 3-2015
AUTOMATE 2015 - Is Automation Right for Your Company - Craig Salvalaggio 3-2015AUTOMATE 2015 - Is Automation Right for Your Company - Craig Salvalaggio 3-2015
AUTOMATE 2015 - Is Automation Right for Your Company - Craig Salvalaggio 3-2015Craig Salvalaggio
 
When is a project ready for Software Automation_NEW
When is a project ready for Software Automation_NEWWhen is a project ready for Software Automation_NEW
When is a project ready for Software Automation_NEWMike Christesen
 
Tune Agile Test Strategies to Project and Product Maturity
Tune Agile Test Strategies to Project and Product MaturityTune Agile Test Strategies to Project and Product Maturity
Tune Agile Test Strategies to Project and Product MaturityTechWell
 
Why Test Automation Fails
Why Test Automation FailsWhy Test Automation Fails
Why Test Automation FailsRanorex
 
Agile Testing and Test Automation
Agile Testing and Test AutomationAgile Testing and Test Automation
Agile Testing and Test AutomationNaveen Kumar Singh
 
Test_Automation_-_Let's_Talk_Business.ppt
Test_Automation_-_Let's_Talk_Business.pptTest_Automation_-_Let's_Talk_Business.ppt
Test_Automation_-_Let's_Talk_Business.pptGopi Raghavendra
 
Use Automation to Assist—Not Replace—Manual Testing
Use Automation to Assist—Not Replace—Manual TestingUse Automation to Assist—Not Replace—Manual Testing
Use Automation to Assist—Not Replace—Manual TestingTechWell
 
Load testing with Visual Studio and Azure - Andrew Siemer
Load testing with Visual Studio and Azure - Andrew SiemerLoad testing with Visual Studio and Azure - Andrew Siemer
Load testing with Visual Studio and Azure - Andrew SiemerAndrew Siemer
 
Fostering Long-Term Test Automation Success
Fostering Long-Term Test Automation SuccessFostering Long-Term Test Automation Success
Fostering Long-Term Test Automation SuccessJosiah Renaudin
 
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...Applitools
 
Matt Eakin - The New Tester Skillset
Matt Eakin - The New Tester SkillsetMatt Eakin - The New Tester Skillset
Matt Eakin - The New Tester SkillsetQA or the Highway
 
Ag02 agile practices - dnc14 handouts
Ag02   agile practices - dnc14 handoutsAg02   agile practices - dnc14 handouts
Ag02 agile practices - dnc14 handoutsDotNetCampus
 
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation TestingFayis-QA
 
How to scale your Test Automation
How to scale your Test AutomationHow to scale your Test Automation
How to scale your Test AutomationKlaus Salchner
 
An Automation Culture: The Key to Agile Success
An Automation Culture: The Key to Agile SuccessAn Automation Culture: The Key to Agile Success
An Automation Culture: The Key to Agile SuccessTechWell
 

Similar to Are you getting traction - Tales from the tech transfer trenches (20)

WEBINAR: To Automate or Not to Automate
WEBINAR: To Automate or Not to AutomateWEBINAR: To Automate or Not to Automate
WEBINAR: To Automate or Not to Automate
 
To Automate or Not to Automate
To Automate or Not to Automate To Automate or Not to Automate
To Automate or Not to Automate
 
MFG4 2016 - Is Automation Right for Your Company - 4-2016
MFG4 2016 -  Is Automation Right for Your Company - 4-2016MFG4 2016 -  Is Automation Right for Your Company - 4-2016
MFG4 2016 - Is Automation Right for Your Company - 4-2016
 
Qtp - Introduction values
Qtp - Introduction valuesQtp - Introduction values
Qtp - Introduction values
 
AUTOMATE 2015 - Is Automation Right for Your Company - Craig Salvalaggio 3-2015
AUTOMATE 2015 - Is Automation Right for Your Company - Craig Salvalaggio 3-2015AUTOMATE 2015 - Is Automation Right for Your Company - Craig Salvalaggio 3-2015
AUTOMATE 2015 - Is Automation Right for Your Company - Craig Salvalaggio 3-2015
 
When is a project ready for Software Automation_NEW
When is a project ready for Software Automation_NEWWhen is a project ready for Software Automation_NEW
When is a project ready for Software Automation_NEW
 
Tune Agile Test Strategies to Project and Product Maturity
Tune Agile Test Strategies to Project and Product MaturityTune Agile Test Strategies to Project and Product Maturity
Tune Agile Test Strategies to Project and Product Maturity
 
Why Test Automation Fails
Why Test Automation FailsWhy Test Automation Fails
Why Test Automation Fails
 
Agile Testing and Test Automation
Agile Testing and Test AutomationAgile Testing and Test Automation
Agile Testing and Test Automation
 
Test_Automation_-_Let's_Talk_Business.ppt
Test_Automation_-_Let's_Talk_Business.pptTest_Automation_-_Let's_Talk_Business.ppt
Test_Automation_-_Let's_Talk_Business.ppt
 
Use Automation to Assist—Not Replace—Manual Testing
Use Automation to Assist—Not Replace—Manual TestingUse Automation to Assist—Not Replace—Manual Testing
Use Automation to Assist—Not Replace—Manual Testing
 
Load testing with Visual Studio and Azure - Andrew Siemer
Load testing with Visual Studio and Azure - Andrew SiemerLoad testing with Visual Studio and Azure - Andrew Siemer
Load testing with Visual Studio and Azure - Andrew Siemer
 
Fostering Long-Term Test Automation Success
Fostering Long-Term Test Automation SuccessFostering Long-Term Test Automation Success
Fostering Long-Term Test Automation Success
 
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
 
Agile testing
Agile testingAgile testing
Agile testing
 
Matt Eakin - The New Tester Skillset
Matt Eakin - The New Tester SkillsetMatt Eakin - The New Tester Skillset
Matt Eakin - The New Tester Skillset
 
Ag02 agile practices - dnc14 handouts
Ag02   agile practices - dnc14 handoutsAg02   agile practices - dnc14 handouts
Ag02 agile practices - dnc14 handouts
 
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation Testing
 
How to scale your Test Automation
How to scale your Test AutomationHow to scale your Test Automation
How to scale your Test Automation
 
An Automation Culture: The Key to Agile Success
An Automation Culture: The Key to Agile SuccessAn Automation Culture: The Key to Agile Success
An Automation Culture: The Key to Agile Success
 

Recently uploaded

8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitterShivangiSharma879191
 
Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleCorrectly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleAlluxio, Inc.
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxk795866
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.eptoze12
 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfme23b1001
 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEroselinkalist12
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...srsj9000
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptSAURABHKUMAR892774
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...121011101441
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...asadnawaz62
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfAsst.prof M.Gokilavani
 
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)Dr SOUNDIRARAJ N
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfAsst.prof M.Gokilavani
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 

Recently uploaded (20)

9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter
 
Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleCorrectly Loading Incremental Data at Scale
Correctly Loading Incremental Data at Scale
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptx
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.
 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdf
 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.ppt
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
 
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
POWER SYSTEMS-1 Complete notes examples
POWER SYSTEMS-1 Complete notes  examplesPOWER SYSTEMS-1 Complete notes  examples
POWER SYSTEMS-1 Complete notes examples
 

Are you getting traction - Tales from the tech transfer trenches

  • 1. Are  you  getting  traction? Tales  from  the  tech  transfer  trenches Satish  Chandra,  PhD June  25,  2015 Acknowledgments:  Saurabh Sinha (IBM),  Leigh  Williamson(IBM),   Indradeep Ghosh (Fujitsu),   Jim  Larus (EPFL)
  • 2. Disclaimer • Personal  account – Not  speaking  for  IBM – Nor  for  Samsung • Talk  material  from  published  sources  and  from   memory – Might  have  misremembered  some  details
  • 3. Wearing  two  hats • Industry  research – Research – Business  impact http://cacm.acm.org/blogs/blog-­‐cacm/97467-­‐research-­‐ in-­‐the-­‐wild-­‐making-­‐research-­‐work-­‐in-­‐industry/fulltext “Phase  1.  Hire  PhDs Phase  2.  ??? Phase  3.  Profit!”
  • 4. My  background • 11  years  at  IBM  Research – T.  J.  Watson  Research  Center  and IBM  India  Research  Lab • Multiple  tech  transfer  efforts – Deployment  of  test  automation  in  services – Shipping  products  involving  static  analysis  technology – Internal  deployment  of  bug-­‐finding  tools – and  some  more… Impact  recognized  by  the  company  by  corporate  awards Acknowledgements:   This  work  was  done  by  a  large  cast  of  people  from  IBM  India  and   T.  J.  Watson  labs,  and  with  a  lot  of  support  from  the  respective  management  chains
  • 5. Outline • Deployment  of  test  automation  in  “services” • Internal  deployment  of  bug-­‐finding  tools
  • 6. Some  large  software  businesses Logos  are  properties  of  respective  companies 6
  • 9. Bangalore,  2010 • Large  services  presence • Of  which,  a  large  testing  practice • Selected  test  automation  as  a  research  topic – 1/3rd of  the  net  testing  services  business – Many  other  problems  (see  paper  below) Software  Services:  a  research  roadmap in  Future  of  Software  Engineering,  2014
  • 10. Test  Automation • Web  sites  have  to  be  tested • Over  and  over  again  … – Change  in  application  – UI  or  backend – Change  in  browser  version – Across  browser – Platform  (PC,  tablet,  etc.) • Not  a  core  interest  of  companies,  say,  in  financial  or   manufacturing  sectors – Often  candidate  for  sending  to  third-­‐party  service   providers
  • 11. 11 What  is  Test  Automation? Test Automation 1.Launch  the  application  through  the  link   http://godel.in.ibm.com:8080/online-­‐ bookstore/Default.jsp 2.Enter  the  intended  book  search  name  as  “MySQL” at  the  “Title” Edit  field  and  select  “Category” as   “All” by  Drop  down  list  and  then  Click  “Search” Button 3.Select  a  title  from  the  list  of  all  Search  Results   displayed  and  then  click  either  on  the  image  of  the   book  or  on  Name  of  the  Book 4.Enter  login  “guest” and  password  “guest”,  and  click   login 5.Enter  the  Quantity  “1” and  Click  on  “Add  to   Shopping  Cart” Button public  void  setUp()  throws  Exception  { driver  =  new  FirefoxDriver(); driver.manage().timeouts(). implicitlyWait(30,   TimeUnit.SECONDS); } public  void  test()  throws  Exception  { driver.get("/online-­‐bookstore/Default.jsp"); driver.findElement(By.name("n")).clear(); driver.findElement(By.name("n")).sendKeys("mysql"); driver.findElement(By.cssSelector( "input[type=“submit"]")).click(); driver.findElement(By.xpath("//tr[2]//font")).click(); driver.findElement(By.name("Login")).clear();   driver.findElement(By.name("Login")).send("guest"); driver.findElement(By.name("Pass")).clear();     driver.findElement(By.name("Pass")).send   ("guest"); … Manual Test  Cases Automated Test  Scripts
  • 12. 12 Is  Test  Automation  a  Significant   Problem? Test Automation 1.Launch  the  application  through  the  link   http://godel.in.ibm.com:8080/online-­‐ bookstore/Default.jsp 2.Enter  the  intended  book  search  name  as  “MySQL” at  the  “Title” Edit  field  and  select  “Category” as   “All” by  Drop  down  list  and  then  Click  “Search” Button 3.Select  a  title  from  the  list  of  all  Search  Results   displayed  and  then  click  either  on  the  image  of  the   book  or  on  Name  of  the  Book 4.Enter  login  “guest” and  password  “guest”,  and  click   login 5.Enter  the  Quantity  “1” and  Click  on  “Add  to   Shopping  Cart” Button public  void  setUp()  throws  Exception  { driver  =  new  FirefoxDriver(); driver.manage().timeouts(). implicitlyWait(30,   TimeUnit.SECONDS); } public  void  test()  throws  Exception  { driver.get("/online-­‐bookstore/Default.jsp"); driver.findElement(By.name("name")).clear();           driver.findElement(By.name("name")).sendKeys("mysql"); driver.findElement(By.cssSelector("input[type="submit"]")).click(); driver.findElement(By.xpath("//tr[2]/td[2]/a/font")).click(); driver.findElement(By.name("Login")).clear(); driver.findElement(By.name("Login")).sendKeys("guest"); driver.findElement(By.name("Password")).clear(); driver.findElement(By.name("Password")).sendKeys("guest"); driver.findElement(By.cssSelector("input[type="submit"]")).click(); … } Manual Test  Cases Automated Test  Scripts § Real  applications  can  have  thousands  of  manual  tests  (≈   30,000  manual  tests),  requiring   regression  cycles  that   can  run  into  a  few  months § Efficient  and  effective  regression  testing  requires   automated  test  execution § However,  test  automation  comes  with  costs Ø Initial  cost: automation  is  time-­‐consuming  and  requires   specialized  skills Ø Maintenance  cost:  small  changes  in  the  user  interface  can   break  the  automated  scripts
  • 13. 13 Automating  Test  Automation  (ATA) 1.Launch  the  application  through  the  link   http://godel.in.ibm.com:8080/online-­‐ bookstore/Default.jsp 2.Enter  the  intended  book  search  name  as   “MySQL” at  the  “Title” Edit  field  and  select   “Category” as  “All” by  Drop  down  list  and   then  Click  “Search” Button 3.Select  a  title  from  the  list  of  all  Search  Results   displayed  and  then  click  either  on  the  image  of   the  book  or  on  Name  of  the  Book 4.Enter  login  “guest” and  password  “guest”,   and  click  login 5.Enter  the  Quantity  “1” and  Click  on  “Add  to   Shopping  Cart” Button 6.Verify  whether  Order  #  and  Total  are  displayed Test  Script
  • 14. ATA • Semi-­‐automatic  conversion  of  English  sentences  to  scripts   – Using  lightweight  NLP – Program  synthesis  approach • Addressed  the  script  fragility  problem – A  robust,  mostly  DOM-­‐independent  script  representation Pros:   • Lower  cost  entry  to  test  automation • Reduced  need  for  test  maintenance And  that  was  the  start  of  our  troubles  … Automating  Test  Automation in  International   Conference  on  Software  Engineering,   2012
  • 15. The  sales  job • Research  ‘cred’  opens  the  doors • Contacted  a  large  number  of  client  accounts ?
  • 16. Where  the  rubber  meets  the  road  … • Real  world  situations – Badly  written  manual  tests,  missing  steps – Conditional  flows,  exceptions – Verification  steps – UI  change  resilience – … • “ATA  can’t  handle  this”  was  a  deal  breaker
  • 17. The  pushback • Delivery  managers  are  conservative – “Client  will  not  allow  this  new  tool” – “Already  have  a  framework” – “We  might  need  to  work  with  other  vendors” – Incentivized  for  what?  Predictable,  timely  delivery • The  “Look,  how  easy”  pitch  wasn’t  working – Need  to  articulate  the  value  – R.O.I.  analysis – Chicken  and  egg  problem
  • 18. Vive  le  ROI • Costs – How  long  does  it  take  for  a  tester  to  be  trained  in  ATA? – Unproven  research  tool,  produces  non-­‐standard  artifacts,   risk  of  wasted  work  – financial  repercussions – Are  we  billing  for  person  hours  or  for  number  of  tests? • Benefits – How  much  more  effective  is  a  tester  on  ATA,  relative  to   status  quo • Tests  automated  /  tester  /  day – How  much  does  ATA  reduce  the  need  of  test  repair?  
  • 19. The  first  sale  is  the  hardest  … • Found  one  sympathetic  team  for  an  internal  account   (non  customer) – Needed  to  automate  ~  7000  test  cases  in  a  short  amount   of  time – Allowed  us  to  collect  some  citable  data  …  even  if  there  are   a  lot  of  caveats • We provided  excellent  customer  support – This  proved  to  be  a  very  good  thing  …
  • 20. 20 Evaluation  in  a  Production  Environment Previous  Automation   Experience The  ATA  Experience 939  scripts  automated  at  the  rate  of   3  to  5  test  cases  per  tester  per  day   (in  10  months) 583  test  cases  automated  at  the  rate  of   10  test  cases  per  tester  per  day  (2X   productivity  gain) Longer  learning  curve  before  test   engineer  can  start  automating Very  short  (roughly  1  to  2  days)  time   required  to  start  contributing Scripts  break  when  UI  elements  are   moved Scripts  are  automatically  repaired   during  execution  if  UI  elements  are   moved … … 20 Your  mileage  will vary  …. Efficient  and  change-­‐resilient  test  automation:  an  industrial  case  study in  ICSE  2013
  • 21. Connecting  with  new  accounts • Get  the  sales  team  on  board  with  the  idea – Their  incentive  is  to  sell  the  client  on  service  quality – Negate  the  “client  does  not  want  it”  argument • Much  better  scaling  of  sales  job – We  graduated  from  talking  to  measly  delivery  managers  to   high  powered  CIOs  or  their  delegates – Heady  stuff • Better  traction
  • 22. The  last  mile? • Significant  overhead  in  customizing  the  tool  to  each   client’s  liking – Tool  and  process  compatibility • Research  tools  do  not  control  end-­‐to-­‐end  processes;  they  only  solve   a  slice  of  the  problem • Export  to  XXX • Interoperate  with  YYY – Lot  of  installation,  handholding,  workshops  etc. – Much  more  demanding  of  in-­‐house  tools  than  of  off-­‐the-­‐ shelf  tools! – On  call
  • 23. The  last  N-­‐1  miles Idea Works   on   bench-­‐ marks Works  on   real  world   code Show  positive   return  on   investment Tool  usable by  others *  Paper
  • 25. The  conundrum  of  services • Clients  want  innovation,  but  also  want  predictable   delivery  of  a  project • Researchers  are  expected  to  build  tools  that – Have  zero  learning  curve – Cause  no  change  to  process – Are  magical in  their  effectiveness • Differentiating,  home-­‐grown  technology  sounds   good,  but  doesn’t  always  match  the  business
  • 26. Outline • Deployment  of  test  automation  in  “services” • Internal  deployment  of  bug-­‐finding  tools
  • 27. New  York,  2006 • Bug  finding  was  in  the  air – Every  interview  talk  referred  to  a  certain  NIST  study  – 50B   USD  lost  annually  to  bugs! 2006
  • 28.
  • 29. Perception • What  are  the  inhibitors  to  adoption? – Too  many  false  positives – Not  all  reports  may  be  actionable – Too  many  tools  out  there,  which  ones  to  pick – Too  much  overhead  in  installing  and  maintaining  tools – Developers  don’t  understand  the  reason  for  bug  report • What  if  we  mitigated  all  of  these  issues?
  • 30. Khasiana:  A  bug  catching  portal • Bug  finding  as  a  service  on  the  cloud • Easy  upload  from  code  repositories • Integrated  presentation  of  output  of  multiple  tools – FindBugs,  SAFE,  Xylem • Symbolic  analysis  to  filter  out  false  positives • Bug  explanation • Heuristic  ranking  of  bug  severity • We  assumed  if  you  build  it,  they  will  come Making  defect-­‐finding   tools  work  for  you in  ICSE  2010
  • 31. They  did  not.  (Not  in  droves.) • Was  the  technology  bad? • Was  the  marketing  bad? • Was  the  deployment  bad? • Was  the  timing  bad?
  • 32. The  same  old  R.O.I  discussion • Costs – Time  to  triage  the  bug  reports  – possible  increase in  time   to  release – Developers  not  incentivized  on  code  cleanliness  (deadline   driven) – Opportunity  costs  – features  vs.  bug  fixes • Benefit – Reduction  in  likelihood  of  field  defects • But  we  failed  to  present  compelling  evidence  of  this A  few  billion  lines  of  code  later:  using  static  analysis  to  find  bugs  in  the  real  world in  CACM   vol 53  issue 2
  • 33. True  positives False  positives Defects  someone   cares  enough  to  fix Reports  from  a  sound   analysis Reports  from  a  good   unsound  analysis Small  percentage  of  the  ‘real’ bugs are  found  by  good  analysis-­‐based  tool
  • 34. Some  more  observations • IDE  vs.  build • Top  down  vs.  service  vs.  self-­‐service • Enterprise  vs.  safety-­‐critical • ‘Old’  vs.  ‘new’  code • Other  defect  categories?  (performance,  security,  …)
  • 35. Getting  software  tools  adopted  is  hard The  last  N-­‐1  miles  will  test  your  patience. Someone  will  ask  you  about  ROI.  Have  an  answer. Pick  the  right  problem.1 2 3 Be  mindful  of  the  incentive  structures.4
  • 36. Are  you  getting  traction?