Мобильная индустрия развивается быстрыми темпами, и многие тестировщики сталкивались со спецификой тестирования мобильных приложений. Но кроме полноценных мобильных продуктов некоторые компании разрабатывают SDK, которые используются другими разработчиками. В докладе Вы услышите об особенностях тестирования мобильного SDK, почему Вашего тестирования никогда не будет достаточно, и убедительные доводы о том, почему разработчики - лучшие друзья тестировщиков :)
QA Fest 2017. Диана Пинчук. Разработка мульти- платформенного мобильного SDK: что может пойти не так в плане качества?
1. Киев 2017
Первый в Украине фестиваль тестирования
Developing multi-platform
mobile SDK, what can go wrong
with quality?
Diana Pinchuk,
QA Engineer, GetSocial
2. Киев 2017
About speaker
• ~ 4 years in testing
• Various projects and platforms
• Passionate about technologies
• GDG Lviv and GDG DevFest Ukraine organizer
<Developing multi-platform mobile SDK, what can go wrong with quality?>
3. Киев 2017
Agenda
• What is mobile SDK?
• Testing SDK is trickier than it could appear
• Problems you may face
• What is “Integration testing” when you
develop SDK + Demo
• Helpful tools
• Q&A
<Developing multi-platform mobile SDK, what can go wrong with quality?>
4. Киев 2017
What is SDK?
Software development kit
<Developing multi-platform mobile SDK, what can go wrong with quality?>
- a set of software development tools that allows
the creation of applications for a certain
software package, software framework,
hardware platform, operating system, or similar
development platform.
5. Киев 2017
Why am I talking about testing
mobile SDK?
• I didn’t find anything similar in internet
• You can’t know what you’ll test on your next
job
• Your testing paradigma can be turned upside
down
• But, best testing practices can be used
anywhere, “I guarantee it”
<Developing multi-platform mobile SDK, what can go wrong with quality?>
6. Киев 2017
What is our product?
A complete solution to drive organic user
acquisition and social engagement.
It consists of:
• SDK
• Developers Dashboard
• Microservices backend
Check https://www.getsocial.im/ for details
<Developing multi-platform mobile SDK, what can go wrong with quality?>
7. Киев 2017
What problems do we solve?
• Increase user retention
• Build in-app communities
• Expand viral channels
• Increase organic growth
• Maximize user acquisition value
<Developing multi-platform mobile SDK, what can go wrong with quality?>
8. Киев 2017
What did we start from?
• No QA processes
• Lots of bugs discovered by clients
• Testing only SDK is not enough, but you won’t
test the whole customer’s app games because
it’s time-consuming
• Tricky third-party issues
<Developing multi-platform mobile SDK, what can go wrong with quality?>
9. Киев 2017
Actually, it wasn’t so bad
• Devs did 5 releases and still alive (have clients
and gain money)
• Devs are concerned about quality a lot, that’s
good
• Fast and dedicated support
• TDD
<Developing multi-platform mobile SDK, what can go wrong with quality?>
10. Киев 2017
Common problems for mobile
apps and SDK
• Fragmentation hell
• Network-related problems
• Mobile architecture issues
• OS version diversity
<Developing multi-platform mobile SDK, what can go wrong with quality?>
11. Киев 2017
Specific problems you may face
testing mobile SDK
• Your testing is far from the “end”
• Unexpected bugs in prod (long to fix)
• Third-party issues
• Your sense of beauty is not important
• Some types of testing are really not needed
<Developing multi-platform mobile SDK, what can go wrong with quality?>
12. Киев 2017
Problems you may face - you are
not done yet!
• Your SDK will be integrated into completely
another product
• It doesn’t mean it will be integrated correctly
• Key focus - interaction of your SDK with the
app
<Developing multi-platform mobile SDK, what can go wrong with quality?>
13. Киев 2017
Problems you may face - long
shipping process
We are shipping binary packages and customers
can take weeks to update to the recent version
...and then upload their app to the App
Store/Google Play
<Developing multi-platform mobile SDK, what can go wrong with quality?>
14. Киев 2017
Problems you may face - third-
party issues
• E.g. Facebook bug
• or recent Twitter update
• We have 7 more invite channels :-O
• And a lot more features...
<Developing multi-platform mobile SDK, what can go wrong with quality?>
15. Киев 2017
Problems you may face - some
testing types are not needed
• Your sense of beauty is “neglected” as
customers will (hopefully) develop their own
UI
• Some testing types are not needed (e.g.
accessibility)
<Developing multi-platform mobile SDK, what can go wrong with quality?>
16. Киев 2017
Integration… is not that you
were thinking about
• Game devs usually integrate their game with
12-16 SDKs
• Integration bugs on each particular game can
be different
• Bugs differ according to platform (not only
iOS/Android, but also Unity, Cordova)
<Developing multi-platform mobile SDK, what can go wrong with quality?>
19. Киев 2017
Useful tools
<Developing multi-platform mobile SDK, what can go wrong with quality?>
Hiptest HockeyappAppium
RunscopePostman
Vysor
StethoCharles
20. Киев 2017
What can be helpful except
tools?
• RTFM (i.e. mobile testing books, blogs, chats
etc.)
• Heuristics
• Mnemonics (e.g. TAP IT UP)
• Testing tours (example)
• Mind maps (example)
<Developing multi-platform mobile SDK, what can go wrong with quality?>
21. Киев 2017
What do we have now
• Autotests (hell, yeah), they really work!
• Close collaboration between devs and QAs
• Management understood the value of QA
• QAs help with customer support
• Stable major release 🎉
<Developing multi-platform mobile SDK, what can go wrong with quality?>
22. Киев 2017
Conclusions
• You will test completely different products
during your career.
• Best test practices can be applicable to any of
them.
• Devs are your best friends.
• Just do it!
<Developing multi-platform mobile SDK, what can go wrong with quality?>
23. Киев 2017
References:
1. J.Kohl “Tap into mobile testing”
https://leanpub.com/testmobileapps
2. Heuristic Test Strategy Model by J.Bach
http://www.satisfice.com/tools/htsm.pdf
3. Adventures in QA blog http://adventuresinqa.com/
4. Very nice QA Fest talk from Anna Karpenko
https://www.youtube.com/watch?v=VXaFG01YRxQ
5. A bunch of useful testing mind maps
http://apps.testinsane.com/mindmaps
6. “Android development for beginners” course
https://in.udacity.com/course/android-development-
for-beginners--ud837/
7. “You are not done yet” checklist
http://www.thebraidytester.com/downloads/YouAreNot
DoneYet.pdf
<Developing multi-platform mobile SDK, what can go wrong with quality?>