How are the internal components of Android such as Zygote and Binder tested before being released?

I tried looking around for answers to this but most resources (blog posts and research papers) I could find dealt mostly with Android application testing and/or verification techniques for Android applications and not the system itself.

A (somewhat) related official information I found was Android Compatibility Test Suite(CTS). I suppose this is aimed at hardware vendors who customize AOSP code for their devices. CTS performs high level compatibility checks from user applications only but not all code of internal components is tested.

If there are no publicly known techniques currently being used in Android, are there any known techniques proposed for other operating systems which would be applicable for Android?

I am working on replacing some components of Android entirely and looking for efficient ways to test them (correctness, compatibility, security and more perhaps).

Edit: It is sufficient for me to know how internal components of Android such as Zygote and Binder are tested when changes are made to them. Since they are internal components, the testing could be very likely automated. Also, I am hoping to replacing these components with functionally equivalent code so these tests will help establish that no critical functionality has been affected.

  • Have you forgotten about the Developer Previews Google releases for testing to developers before every major Android version upgrade? What about those? – Tamoghna Chowdhury Dec 31 '15 at 7:22
  • Also, this post about compiler reliability might give you an idea: programmers.stackexchange.com/questions/51966/… – Tamoghna Chowdhury Dec 31 '15 at 7:23
  • And this quote by Linus Torvalds: "Given enough eyes, all bugs are shallow" (to paraphrase somewhat?) – Tamoghna Chowdhury Dec 31 '15 at 7:23
  • Try the CTS itself first. Note that this is a user-focused site and ROM development related questions are considered off-topic here. Also, if you replace too much of the Android core, it might no longer be considered Android, and you would have to be on your own. – Tamoghna Chowdhury Dec 31 '15 at 7:26
  • @TamoghnaChowdhury From what I read, CTS is primarily for testing devices that will run Android and not for testing Android itself extensively. I think developer previews are probably for testing compatibility of developer's apps with upcoming releases; they probably won't test internal Android components. Android internals would be quite complex to perform manual checks only. – dnivra Dec 31 '15 at 9:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.