Challenges Testing an SDK

Aya Akl
2 min readAug 31, 2018

--

In my previous company, I had the chance to work on a different kind of a business and application (not really an application). I have been testing in a new different way than I used to, I used to test mobile Apps themselves (UI, Functionality, Performance, UX, etc…), not a framework or SDK that can be put into the mobile apps.

It is totally different to be working on something used by your mobile App, it is not about testing the app’s functionality because this is not our scope but mostly testing how would the SDK interact with the app itself taking into our accounts that this app maybe of any kind: Financial, Game, Notes, or Photo viewing, etc. You can just think of any kind of apps.

So how it is different to test an SDK, what are the challenges behind it, and what to learn from it? Let’s go deeper.

How is it different?:

  1. It is not about testing UI anymore.
  2. Trying different types of apps against the SDK is different than working on the same type of app.
  3. It is not about one system or one thing under test but it is about handling SDK from different aspects: Mobile, Backend, and Frontend (handling the dashboard with Analytics).

Challenges behind testing an SDK/or a framework?:

  1. Making sure that the SDK won’t Crash the mobile app it is built in.
  2. Making sure that the SDK size is not large.
  3. Handling crashes caused by the SDK.
  4. Updating the SDK to a newer version Scenarios.
  5. It is tested not only regarding different types of Apps but these different types of Apps on different OS platforms the SDK supports.
  6. Testing on iPad or any tablet.

Lessons I learnt:

  1. There is 3 faces to testing an SDK: Backend, Frontend, and Mobile side!
  2. Monitoring the backend services behind the SDK.
  3. How microservices structure is build and how to work with it.
  4. How to test a microservices structure.
  5. How to write test cases for manually test your backend services.
  6. Integration testing of both Backend and Frontend.
  7. Many things can crash your mobile apps: Crashes, Exceptions, or only Errors.
  8. Network and API monitoring through CharlesProxy.
  9. iOS Apps life cycle and states.
  10. Android Apps life cycle and states.

I can say that I really enjoyed do this kind of testing and all the lesson I learnt from it and this made me a better tester.

HAPPY TESTING!

--

--

Aya Akl

#Quality is my thing - Passionate human being who wants to change the world!! #MobileTester #SDET #iOS #Testing