© 2021 ThoughtWorks
Testing Face Authentication
on Mobile
Fathima Harris
© 2021 ThoughtWorks
The application
Headless
app
Captures
a face
Server
side
Authentic
ation
Success/failure
The goal: Aid 2 factor authentication by face recognition
Client
side
validation
Human?
Real?
Live?
Database
© 2021 ThoughtWorks
Questions!
How do you validate correctness of the algorithm?
How many “faces” do you need?
What would a smoke test be?
How much data do you use? Where do you get it from?
How do you test a headless app?
Which all devices to test it on?
Fraudulent transactions?
Can you even automate this?
© 2021 ThoughtWorks
The problem
Identifying scenarios and corresponding data
The correctness of face recognition Machine Learning (ML) algorithm
Overall workability of the app across devices, including live face recognition;
Automation
Security
Performance
© 2021 ThoughtWorks
Identifying Scenarios
© 2021 ThoughtWorks
Data parameters
Gender, Race, Age etc
Lighting conditions
Resolutions
Various camera devices
Accessories (Glasses, turban, mask, etc)
Aspect ratio
Nearness
Various positions/conditions of the face (different profiles, eyes open/close, smiling etc)
Fake images
Dataset
© 2021 ThoughtWorks
Dataset segregation
Training dataset
Testing dataset
© 2021 ThoughtWorks
Where do you get this data from?
Open source
Paid sources
Create your own!
© 2021 ThoughtWorks
Validating correctness of the ML
algorithm
© 2021 ThoughtWorks
Validation criteria
Speed
Accuracy
© 2021 ThoughtWorks
Integration of the algorithm with the
app
© 2021 ThoughtWorks
Testing the application functionality
Choice of devices: Real/virtual devices
Choice of devices: Cloud services/real device lab
Question: How to test a headless app?
Choice of automation tool
Question: How to automate face capture flow?
© 2021 ThoughtWorks
© 2021 ThoughtWorks
How did the Face authentication flow work?
Camera
launch
Stream of images
Run client side
validation (ML
algorithm)
Valid?
No
Yes
Authentication
from server
© 2021 ThoughtWorks
Automating face capture
Launch app
via sample
app
Camera
launch
Client side
validation,
server side etc.
Feed image (s)
from gallery
Stream of images
© 2021 ThoughtWorks
Conclusion
© 2021 ThoughtWorks
Learnings
Identify critical areas of quality concerns based on the application
Prioritize
Evolve overtime
Do not reinvent the wheel
Automate :)
© 2021 ThoughtWorks
Thank you!
Twitter: @Fathima_Harris
LinkedIn: www.linkedin.com/in/fathima-harris

Testing face authentication on mobile

Editor's Notes