choosing-what-to-test

Identify high-value Android test cases by state categories and architectural layers.

Updated Jul 20, 2026
One-click install
npx skills add https://github.com/trancee/MeshLink-template --skill choosing-what-to-test-trancee
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: choosing-what-to-test
Source: https://github.com/trancee/MeshLink-template/tree/main/.agents/skills/android-testing-skills/fundamentals/concepts/choosing-what-to-test
Command: npx skills add https://github.com/trancee/MeshLink-template --skill choosing-what-to-test-trancee

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill resolves uncertainty in Android test suites by distinguishing between high-value business logic tests and low-value framework-level tests, preventing over-testing of boilerplate code.

Core Features & Use Cases

  • State-Based Coverage: Provides a clear framework for testing screen state, memory state, persisted data, system services, and critical edge cases.
  • Strategic Guidance: Offers a definitive list of what to avoid testing, such as framework entry points (Activities/Fragments) and third-party library internals.
  • Use Case: Use this when you are unsure whether to write a unit test for a specific ViewModel or if an Activity requires an instrumented test, ensuring your test suite remains fast, reliable, and maintainable.

Quick Start

Use the choosing-what-to-test skill to evaluate the test coverage requirements for my current ViewModel and repository implementation.

Frequently Asked Questions about choosing-what-to-test

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I decide what to test in my Android ViewModel and repository?

Android ViewModel and repository testing strategy requires distinguishing high-value business logic from framework-specific behaviors. Categorize screen state, memory state, and persisted data to identify critical test cases while avoiding boilerplate code.

What should I avoid testing in my Android test suite?

Android testing should avoid testing framework entry points like Activities and Fragments, as well as third-party library internals. Avoiding these low-value framework-level tests prevents over-testing boilerplate code and keeps your test suite fast, reliable, and maintainable.

When do I need to write instrumented tests instead of unit tests for Android?

Android instrumented tests are needed when verifying framework-specific behaviors and system services, whereas unit tests suit pure business logic. Apply a state-based coverage framework to screen state and persisted data to determine the correct test type.

Can I use a state-based coverage strategy for Android edge cases?

State-based coverage strategy effectively targets Android edge cases by categorizing screen state, memory state, persisted data, and system services. This framework ensures critical edge cases receive appropriate unit or instrumented test coverage based on their architectural layer.

Does this Android testing strategy align with Google's testing fundamentals?

This Android testing strategy strictly adheres to Google's testing fundamentals by prioritizing high-value business logic tests and explicitly avoiding testing framework entry points or third-party library internals. It ensures your test suite remains fast, reliable, and maintainable.