82
A Tale of Testing the Untestable A Tale of Testing the Untestable Angie Jones http://angiejones.tech http://testautomationu.com @techgirl1908 Senior Developer Advocate, Applitools Director, Test Automation University San Francisco, CA, USA

A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

A Tale of Testing the UntestableA Tale of Testing the Untestable

Angie Joneshttp://angiejones.tech

http://testautomationu.com@techgirl1908

Senior Developer Advocate, ApplitoolsDirector, Test Automation University

San Francisco, CA, USA

Page 2: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

@tech

Page 3: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation
Page 4: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

I needI needa change!a change!

@tech

Page 5: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation
Page 6: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation
Page 7: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

QA @ TwitterQA @ Twitter

testing as a service@tech

Page 8: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

TwitterTwitterAdsAds

@tech

Page 9: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

Advertiser canAdvertiser cancreate a campaigncreate a campaignthat targets usersthat targets userswho meet certainwho meet certain

criteria.criteria.

FeatureFeature

@tech

Page 10: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

WhatWhatare weare we

@tech

Page 11: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

@te

Page 12: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

@t

Page 13: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

The testThe test

@tech

Page 14: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation
Page 15: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

Challenge #1:Challenge #1:CompanyCompany

lacks testinglacks testingcultureculture

@tech

Page 16: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation
Page 17: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

What aboutWhat aboutintegration?integration?

@tech

Page 18: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation
Page 19: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation
Page 20: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

There'sThere'sa gapa gap

@tech

Page 21: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

Challenge #2:Challenge #2:Company lacksCompany lacksresources forresources for

testingtesting@tech

Page 22: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation
Page 23: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

Challenge #3:Challenge #3:Testing inTesting in

productionproduction@tech

Page 24: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation
Page 25: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

TooTooexpensive!expensive!

@tech

Page 26: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

Challenge #4:Challenge #4:TargetingTargetingtest userstest users

@tech

Page 27: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

User ID Username Gender Interest1............. ............. F science2............. ............. M art3............. ............. N art4............. ............. U science5............. ............. M science6............. ............. F art7............. ............. F art

@tech

Page 28: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

@tech

Page 29: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

Challenge #5:Challenge #5:Blocker inBlocker in

targeting liststargeting lists@tech

Page 30: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation
Page 31: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

...then how???...then how???

@tech

Page 32: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

Challenge #6:Challenge #6:Serving is notServing is notguaranteedguaranteed

@tech

Page 33: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation
Page 34: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

how does thishow does thisthing work?thing work?

@tech

Page 35: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

Challenge #7:Challenge #7:Going lowerGoing lowerin the stackin the stack

@tech

Page 36: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation
Page 37: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

No time!No time!

@techgirl1908

Page 38: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

Challenge #8:Challenge #8:Making timeMaking time

for qualityfor quality@tech

Page 39: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

NoNohappyhappyendingending

@tech

Page 40: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

@tech

Page 41: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

The 10 P's of TestabilityThe 10 P's of Testabilityby Rob Meaney

@tech

Page 42: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

RetrospectiveRetrospective

@tech

Page 43: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

PeoplePhilosophyProductProcessProblemProjectPipelineProductivityProduction IssuesProactivity @tech

Page 44: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

The people in our teampossess the mindset,

skillset & knowledge setto do great testing and arealigned in their pursuit of

quality.@tech

Page 45: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

The people in our teampossess the mindset,

skillset & knowledge setto do great testing and arealigned in their pursuit of

quality.@tech

Page 46: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

The people in our teampossess the mindset,

skillset & knowledge setto do great testing and arealigned in their pursuit of

quality.@tech

Page 47: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

PeoplePhilosophyProductProcessProblemProjectPipelineProductivityProduction IssuesProactivity @tech

Page 48: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

The philosophy of ourteam encourages wholeteam responsibility for

quality and collaborationacross team roles, thebusiness and with the

customer.@tech

Page 49: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

The philosophy of ourteam encourages wholeteam responsibility for

quality and collaborationacross team roles, thebusiness and with the

customer.@tech

Page 50: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

The philosophy of ourteam encourages wholeteam responsibility for

quality and collaborationacross team roles, thebusiness and with the

customer.@tech

Page 51: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

PeoplePhilosophyProductProcessProblemProjectPipelineProductivityProduction IssuesProactivity @tech

Page 52: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

The product isdesigned to facilitate

great exploratorytesting and

@tech

Page 53: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

The product isdesigned to facilitate

great exploratorytesting and

@tech

Page 54: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

The product isdesigned to facilitate

great exploratorytesting and

@tech

Page 55: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

PeoplePhilosophyProductProcessProblemProjectPipelineProductivityProduction IssuesProactivity @techg

Page 56: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

The process helps theteam decompose work intosmall testable chunks and

discourages theaccumulation of

testing debt.@techg

Page 57: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

The process helps theteam decompose work intosmall testable chunks and

discourages theaccumulation of

testing debt.@techg

Page 58: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

The process helps theteam decompose work intosmall testable chunks and

discourages theaccumulation of

testing debt.@techg

Page 59: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

PeoplePhilosophyProductProcessProblemProjectPipelineProductivityProduction IssuesProactivity @techg

Page 60: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

The team has a deepunderstanding of theproblem the product

solves for their customerand actively identifies and

mitigates risk.@techg

Page 61: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

The team has a deepunderstanding of theproblem the product

solves for their customerand actively identifies and

mitigates risk.@techg

Page 62: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

The team has a deepunderstanding of theproblem the product

solves for their customerand actively identifies and

mitigates risk.@techg

Page 63: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

PeoplePhilosophyProductProcessProblemProjectPipelineProductivityProduction IssuesProactivity @techg

Page 64: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

The team is providedthe time, resources,

space and autonomyto focus & do great

@techg

Page 65: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

The team is providedthe time, resources,

space and autonomyto focus & do great

@techg

Page 66: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

PeoplePhilosophyProductProcessProblemProjectPipelineProductivityProduction IssuesProactivity @techg

Page 67: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

The team’s pipelineprovides fast, reliable,

accessible andcomprehensive feedback

on every change as itmoves towards production.

@techg

Page 68: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

The team’s pipelineprovides fast, reliable,

accessible andcomprehensive feedback

on every change as itmoves towards production.

@techg

Page 69: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

PeoplePhilosophyProductProcessProblemProjectPipelineProductivityProduction IssuesProactivity @techg

Page 70: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

For productivity, the teamconsiders and applies the

appropriate blend of testingto facilitate continuousfeedback and unearthimportant problems as

quickly as possible.@techg

Page 71: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

For productivity, the teamconsiders and applies the

appropriate blend of testingto facilitate continuousfeedback and unearthimportant problems as

quickly as possible.@techg

Page 72: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

For productivity, the teamconsiders and applies the

appropriate blend of testingto facilitate continuousfeedback and unearthimportant problems as

quickly as possible.@techg

Page 73: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

PeoplePhilosophyProductProcessProblemProjectPipelineProductivityProduction IssuesProactivity @techg

Page 74: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

The team has very fewcustomer impacting

production issues butwhen they do occur theteam can very quickly

detect, debug andremediate the issue.

@techg

Page 75: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

The team has very fewcustomer impacting

production issues butwhen they do occur theteam can very quickly

detect, debug andremediate the issue.

@techg

Page 76: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

PeoplePhilosophyProductProcessProblemProjectPipelineProductivityProduction IssuesProactivity @techg

Page 77: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

The team proactivelyseeks to continuously

improve their testapproach, learn from theirmistakes and experiment

with new tools andtechniques.

@techg

Page 78: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

The team proactivelyseeks to continuously

improve their testapproach, learn from theirmistakes and experiment

with new tools andtechniques.

@techg

Page 79: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

The team proactivelyseeks to continuously

improve their testapproach, learn from theirmistakes and experiment

with new tools andtechniques.

@techg

Page 80: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

PeoplePhilosophyProductProcessProblemProjectPipelineProductivityProduction IssuesProactivity @techg

Page 81: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation
Page 82: A Tale of Testing the U ntestable - uploads.pnsqc.orguploads.pnsqc.org/2019/slides/Jones-Testing the Untestable.pdf · Senior Developer Advocate, Applitools Director, Test Automation

A Tale of Testing the UntestableA Tale of Testing the Untestable

Angie Joneshttp://angiejones.tech

http://testautomationu.com@techgirl1908

Senior Developer Advocate, ApplitoolsDirector, Test Automation University

San Francisco, CA, USA