Index
A
- AccessPrivateDataTest class / Android unit tests
- activities
- testing / Testing activities and applications, Testing activities
- ActivityInstrumentationTestCase2 class
- about / The ActivityInstrumentationTestCase2 class
- constructor / The constructor
- setUp method / The setUp method
- tearDown method / The tearDown method
- ActivityInstrumentationTestCase2.getActivity() method / Creating the fixture
- Activity Manager
- URL / Instrumentation
- ActivityMonitor inner class
- about / The ActivityMonitor inner class
- example / Example
- ActivityTestCase class
- about / The ActivityTestCase class
- scrubClass method / The scrubClass method
- Android
- unit tests / Android unit tests
- android-test-kit
- URL / Testing with Espresso
- android.test.mock subpackage
- MockApplication class / Mock objects
- MockContentProvider class / Mock objects
- MockContentResolver class / Mock objects
- MockContext class / Mock objects
- MockCursor class / Mock objects
- MockDialogInterface class / Mock objects
- MockPackageManager class / Mock objects
- MockResources class / Mock objects
- Android applications
- building manually, Gradle used / Building Android applications manually using Gradle
- Android Emulator Plugin
- about / Creating the jobs
- Android Emulator plugin / Installing and configuring Jenkins
- Android project
- creating / Creating the Android project
- package, exploring / Package explorer
- test case, creating / Creating a test case
- test annotations / Test annotations
- tests, running / Running the tests
- tests, debugging / Debugging tests
- Android SDK
- performance tests / Performance tests in Android SDK
- Android Studio
- support, for system tests / Android Studio and other IDE support
- tests, running / Running all tests from Android Studio
- AndroidTestCase base class
- about / The AndroidTestCase base class
- assertActivityRequiresPermission() method / The assertActivityRequiresPermission() method
- assertWritingContentUriRequiresPermission() method / The assertWritingContentUriRequiresPermission() method
- Android testing framework
- about / Android testing framework
- features / Android testing framework
- instrumentation framework / Instrumentation
- Gradle / Gradle
- test targets / Test targets
- annotations, tests
- about / Test annotations
- @SmallTest / Test annotations
- @MediumTest / Test annotations
- @LargeTest / Test annotations
- @Smoke / Test annotations
- @FlakyTest / Test annotations
- @UIThreadTest / Test annotations
- @Suppress / Test annotations
- AOSP tests
- URL / The BrowserProvider tests
- applications
- testing / Testing activities and applications
- mocking / Mocking applications and preferences
- RenamingMockContext class / The RenamingMockContext class
- contexts, mocking / Mocking contexts
- Assert-J
- URL / Introducing Fest
- assertActivityRequiresPermission() method
- about / The assertActivityRequiresPermission() method
- packageName parameter / Description
- className parameter / Description
- permission parameter / Description
- example / Example
- assertInsertQuery() method / The BrowserProvider tests
- assertions
- about / Assertions in depth
- custom message / Custom messages
- static imports / Static imports
- assertAssignableFrom method / Even more assertions
- assertContainsRegex method / Even more assertions
- assertContainsInAnyOrder method / Even more assertions
- assertContainsInOrder method / Even more assertions
- assertEmpty method / Even more assertions
- assertEquals method / Even more assertions
- assertMatchesRegex method / Even more assertions
- assertNotContainsRegex method / Even more assertions
- assertNotEmpty method / Even more assertions
- assertNotMatchesRegex method / Even more assertions
- checkEqualsAndHashCodeMethods method / Even more assertions
- assertLeftAligned method / View properties
- assertOnScreen method / View properties
- assertReadingContentUriRequiresPermission method
- about / The assertReadingContentUriRequiresPermission method
- uri / Description
- uri parameter / Description
- permission parameter / Description
- example / Example
- assertRightAligned method / View properties
- assertWritingContentUriRequiresPermission() method
- about / Description
- uri parameter / Description
- permission parameter / Description
- example / Example
- AVD
- creating / Creating Android Virtual Devices
- running, from command line / Running AVDs from the command line
- headless emulator / Headless emulator
- keyguard, disabling / Disabling the keyguard
- services, cleaning up / Cleaning up
- processes, cleaning up / Cleaning up
- emulator, terminating / Terminating the emulator
- speeding up, with HAXM / Speeding up your AVD with HAXM
- alternatives / Alternatives to the AVD
- AVD Manager
- about / Creating Android Virtual Devices
B
- Behavior-driven Development
- about / Functional or acceptance tests
- URL / Functional or acceptance tests
- Behavior-driven Development (BDD)
- Given / Given, When, and Then
- When / Given, When, and Then
- Then / Given, When, and Then
- benchmarking
- about / Microbenchmarks
- BrowserProvider tests / The BrowserProvider tests
- buttons, monkey_recorder.py
- about / Record and playback
C
- Calabash
- URL / Functional or acceptance tests
- Caliper
- running / Running Caliper
- Caliper microbenchmarks
- about / Caliper microbenchmarks
- URL / Caliper microbenchmarks
- temperature converter, benchmarking / Benchmarking the temperature converter
- code coverage
- about / Code coverage
- command line
- tests, running / Running tests from the command line
- command line, options
- -r / Running tests from the command line
- -e <NAME> <VALUE> / Running tests from the command line
- -p <FILE> / Running tests from the command line
- -w / Running tests from the command line
- -e unit true / Running specific tests by category
- -e func true / Running specific tests by category
- -e perf true / Running specific tests by category
- -e size {small | medium | large} / Running specific tests by category
- -e annotation <annotation-name> / Running specific tests by category
- debug / Other command-line options
- package / Other command-line options
- class / Other command-line options
- coverage / Other command-line options
- Compatibility Test Suite (CTS) / Android unit tests
- content providers
- testing / Testing files, databases, and content providers
- contexts
- mocking / Mocking contexts
- continuous integration
- with Jenkins / Continuous integration with Jenkins
- custom message
- about / Custom messages
D
- Dalvik Debug Monitor Service (DDMS) / Using the Traceview and dmtracedump platform tools
- Dalvik JIT compiler
- about / Performance tests
- Dalvik virtual machine
- about / Test targets
- databases
- testing / Testing files, databases, and content providers
- demonstration application
- creating / The demonstration application
- Dependency Injection (DI) / Testing local and remote services
- Device Pools
- about / Introducing Fork
- dmtracedump
- using / Using the Traceview and dmtracedump platform tools, Dmtracedump
- command-line arguments / Dmtracedump
E
- EditNumber class / The EditNumber class
- emulator
- tests, running / Running from the emulator
- terminating / Terminating the emulator
- emulator configurations
- about / Additional emulator configurations
- network conditions, simulating / Simulating network conditions
- Espresso
- URL / Testing with Espresso
- used, for testing outside in / Testing with Espresso
- EvaluationDependsOn class / Installing Robolectric
- exceptions
- testing / Testing exceptions
F
- Fest
- URL / Static imports
- about / Introducing Fest
- files
- testing / Testing files, databases, and content providers
- FitNesse
- URL / Functional or acceptance tests, FitNesse
- about / FitNesse
- running, from command line / Running FitNesse from the command line
- TemperatureConverterTests subwiki, creating / Creating a TemperatureConverterTests subwiki
- test systems / Adding the supporting test classes
- fit test system / Adding the supporting test classes
- Fork
- about / Introducing Fork
- functionality, adding
- about / Adding functionality
- temperature conversion / Temperature conversion
- EditNumber class / The EditNumber class
- TemperatureConverter unit tests / The TemperatureConverter unit tests
- EditNumber tests / The EditNumber tests
- TemperatureChangeWatcher class / The TemperatureChangeWatcher class
- TemperatureConverter tests / More TemperatureConverter tests
- InputFilter tests / The InputFilter tests
- functional or acceptance tests
- about / Functional or acceptance tests
- example / Test case scenario
- functional testing
- about / Test scripting with monkeyrunner
G
- Git
- about / Git – the fast version control system
- local Git repository, creating / Creating a local Git repository
- Git plugin / Installing and configuring Jenkins
- Given-When-Then vocabulary / GivWenZen
- GivWenZen
- about / GivWenZen
- URL / GivWenZen
- wiki URL / GivWenZen
- test scenario, creating / Creating the test scenario
- Google Gradle plugin
- URL / Instrumentation
- Gradle
- URL / Android Studio and other IDE support, Building Android applications manually using Gradle
- about / Gradle, Building Android applications manually using Gradle
- used, for running tests / Running tests using Gradle
- custom annotation, creating / Creating a custom annotation
- performance tests, running / Running performance tests
- dry run, of tests / Dry run
- used, for building Android applications manually / Building Android applications manually using Gradle
- tasks / Building Android applications manually using Gradle
- Gradle Jacoco plugin
- URL / Generating code coverage analysis report
- Gradle plugin / Installing and configuring Jenkins
- GraphViz
- URL / Dmtracedump
H
- HAXM
- AVD, speeding up with / Speeding up your AVD with HAXM
- headless emulator / Headless emulator
I
- instrumentation
- about / Instrumentation
- ActivityMonitor inner class / The ActivityMonitor inner class
- instrumentation framework
- about / Instrumentation
- InstrumentationTestCase class
- about / The InstrumentationTestCase class
- launchActivity method / The launchActivity and launchActivityWithIntent methods
- launchActivityWithIntent method / The launchActivity and launchActivityWithIntent methods
- sendKeys method / The sendKeys and sendRepeatedKeys methods
- sendRepeatedKeys method / The sendKeys and sendRepeatedKeys methods
- runTestOnUiThread helper method / The runTestOnUiThread helper method
- integration tests
- about / Integration tests
- UI tests / UI tests
- IsolatedContext class
- about / The IsolatedContext class
J
- Jacoco
- URL / Why, what, how, and when to test?
- about / Jacoco features
- features / Jacoco features
- Jacoco coverage report
- about / Generating code coverage analysis report
- Java testing framework
- about / Java testing framework
- jbehave
- about / Functional or acceptance tests
- URL / Functional or acceptance tests
- Jenkins
- about / Continuous integration with Jenkins
- installing / Installing and configuring Jenkins
- configuring / Installing and configuring Jenkins
- URL / Installing and configuring Jenkins
- jobs, creating / Creating the jobs
- Android test results, obtaining / Obtaining Android test results
- JUnit plugin / Installing and configuring Jenkins
- Jython
- URL / Test scripting with monkeyrunner
K
- keyguard
- disabling / Disabling the keyguard
L
- LaunchPerformanceBase instrumentation
- creating / Creating the LaunchPerformanceBase instrumentation
- libraries
- using / Using libraries in test projects
- local and remote services
- testing / Testing local and remote services
M
- macrobenchmarks / Microbenchmarks
- memory usage
- testing for / Testing for memory usage
- microbenchmarks
- about / Microbenchmarks
- Caliper / Caliper microbenchmarks
- MockContentResolver class
- about / The MockContentResolver class
- MockContext class
- about / An overview of MockContext
- Mockito
- URL / Extensive use of mock objects
- about / Extensive use of mock objects
- benefits / Extensive use of mock objects
- usage example / Mockito usage example
- mock objects
- about / Mock objects, Mock objects
- reference link / Mock objects
- MockContext class / An overview of MockContext
- IsolatedContext class / The IsolatedContext class
- alternate route, providing to file / Alternate route to file and database operations
- alternate route, providing to database operations / Alternate route to file and database operations
- MockContentResolver class / The MockContentResolver class
- using / Extensive use of mock objects
- libraries, importing / Importing libraries
- Mockito usage example / Mockito usage example
- EditNumber filter tests / The EditNumber filter tests
- monkey application
- running / Running monkey
- URL / Running monkey
- client-server monkey / The client-server monkey
- monkeyrunner tool
- used, for test scripting with / Test scripting with monkeyrunner
- features / Test scripting with monkeyrunner
- test screenshots, obtaining / Getting test screenshots
- record / Record and playback
- playback / Record and playback
- MoreAsserts class
- about / Even more assertions
N
- network conditions
- simulating / Simulating network conditions
O
- options, for latency
- about / Simulating network conditions
- options, for network speed
- about / Simulating network conditions
- options, New Item screen
- about / Creating the jobs
P
- parsers, testing
- about / Testing parsers
- Android assets / Android assets
- parser test
- about / The parser test
- performance tests
- about / Performance tests
- performance tests, Android SDK
- about / Performance tests in Android SDK
- launching / Launching the performance test
- LaunchPerformanceBase instrumentation / Creating the LaunchPerformanceBase instrumentation
- TemperatureConverterActivityLaunchPerformance class, creating / Creating the TemperatureConverterActivityLaunchPerformance class
- running / Running the tests
- preferences
- mocking / Mocking applications and preferences
- ProviderTestCase2<T> class
- about / The ProviderTestCase2<T> class
- constructor / The constructor
- example / An example
R
- regression testing / Test scripting with monkeyrunner
- regular expressions
- reference link / Even more assertions
- RenamingMockContext class / The RenamingMockContext class
- RenamingMockContext method / Mocking contexts
- Robolectric
- about / Introducing Robolectric
- URL / Introducing Robolectric
- installing / Installing Robolectric
- resources, adding / Adding resources
- tests, writing / Writing some tests
- shadows / Google's march on shadows
- Robotium
- about / Introducing Robotium
- URL / Introducing Robotium
- adding, to project / Adding Robotium
- test cases, creating / Creating the test cases
S
- SCM
- about / Git – the fast version control system
- ServiceTestCase<T> class
- about / The ServiceTestCase<T>
- constructor / The constructor
- setContext() method / Mocking contexts
- setUp() method
- about / The setUp() method
- SetUp pages / Creating the test scenario
- slim test system / Adding the supporting test classes
- Spoon
- about / Introducing Spoon
- URL / Introducing Spoon
- static imports
- about / Static imports
- system tests
- about / System tests
- types / System tests
- Android Studio support / Android Studio and other IDE support
- other IDE support / Android Studio and other IDE support
T
- TDD
- about / Getting started with TDD
- advantages / Getting started with TDD, Advantages of TDD
- test case, writing / Writing a test case
- tests, running / Running all tests
- code, refactoring / Refactoring the code
- requisites / Understanding the requirements
- tearDown() method
- about / The tearDown() method
- TemperatureChangeWatcher class / The TemperatureChangeWatcher class
- temperature converter
- benchmarking / Benchmarking the temperature converter
- TemperatureConverterActivityLaunchPerformance class
- creating / Creating the TemperatureConverterActivityLaunchPerformance class
- TemperatureConverterActivityTests class
- creating / Creating the TemperatureConverterActivityTests class
- fixture, creating / Creating the fixture
- user interface, creating / Creating the user interface
- user interface components existence, testing / Testing the existence of the user interface components
- IDs, defining / Getting the IDs defined
- test requisites, translating / Translating requirements to tests
- screen layout / Screen layout
- temperature converter application
- creating / Creating a sample project – the temperature converter, Creating the project
- requisites / List of requirements
- user interface concept design / User interface concept design
- Java module, creating / Creating a Java module
- viewing / Viewing our final application
- TemperatureConverter class / The TemperatureConverter unit tests
- Temperature Converter code coverage
- about / Temperature converter code coverage
- code coverage analysis report, generating / Generating code coverage analysis report
- exceptions, covering / Covering the exceptions
- TemperatureConverterTests subwiki
- creating / Creating a TemperatureConverterTests subwiki
- child pages, adding / Adding child pages to the subwiki
- acceptance test fixture, adding / Adding the acceptance test fixture
- supporting test classes, adding / Adding the supporting test classes
- testAccessAnotherAppsPrivateDataIsNotPossible() method / Android unit tests
- test case
- creating / Creating a test case
- TestCase base class
- about / The TestCase base class
- default constructor / The default constructor
- constructor, naming / The given name constructor
- setName() method / The setName() method
- test cases, Robotium
- creating / Creating the test cases
- testFahrenheitToCelsiusConversion() test / The testFahrenheitToCelsiusConversion() test
- testing, between activities / Testing between Activities
- testHasDefaultBookmarks() method / The BrowserProvider tests
- Test History / Adding the supporting test classes
- testing, on JVM
- about / Testing on the host's JVM
- performance gain, comparing / Comparing the performance gain
- Android, adding / Adding Android to the picture
- testing tactics
- code coverage / Code coverage
- Temperature Converter code coverage / Temperature converter code coverage
- Robotium / Introducing Robotium
- test, running on JVM / Testing on the host's JVM
- Robolectric / Introducing Robolectric
- Fest / Introducing Fest
- Spoon / Introducing Spoon
- Fork / Introducing Fork
- testPartialFirstTitleWord() method / The BrowserProvider tests
- test requisites, translating
- empty fields / Empty fields
- View properties / View properties
- tests
- advantages / Why, what, how, and when to test?
- considerations / What to test
- types / Types of tests
- running / Running the tests
- running, from Android Studio / Running all tests from Android Studio
- single test case, running from ASide / Running a single test case from your IDE
- running, from emulator / Running from the emulator
- running, from command line / Running tests from the command line
- all tests, running / Running all tests
- running, from specific test case / Running tests from a specific test case
- specific test, running by name / Running a specific test by name
- specific tests, running by category / Running specific tests by category
- running, Gradle used / Running tests using Gradle
- debugging / Debugging tests
- tests, considerations
- activity life cycle events / Activity lifecycle events
- database and file system operations / Database and filesystem operations
- physical characteristics, of device / Physical characteristics of the device
- tests, types
- unit tests / Unit tests
- integration tests / Integration tests
- functional or acceptance tests / Functional or acceptance tests
- performance tests / Performance tests
- system tests / System tests
- TestSuiteBuilder.FailedToCreateTests class
- about / The TestSuiteBuilder.FailedToCreateTests class
- test systems, FitNesse
- fit / Adding the supporting test classes
- slim / Adding the supporting test classes
- URL / Adding the supporting test classes
- test targets
- about / Test targets
- TextWatcher
- about / The TemperatureChangeWatcher class
- timing logger
- about / Timing logger
- touch mode, Android UI
- reference link / The setUp method
- TouchUtils class
- about / The TouchUtils class
- Traceview
- using / Using the Traceview and dmtracedump platform tools
U
- UI tests
- about / UI tests
- unit tests
- about / Unit tests
- setUp() method / The setUp() method
- tearDown() method / The tearDown() method
- execution, outside of test method / Outside the test method
- execution, inside of test method / Inside the test method
- assert* methods / Inside the test method
- mock objects / Mock objects
V
- VCS
- about / Git – the fast version control system
- View assertions
- about / View assertions
- reference link / View assertions
- assertBaselineAligned method / View assertions
- assertBottomAligned method / View assertions
- assertGroupContains method / View assertions
- assertGroupIntegrity method / View assertions
- assertGroupNotContains method / View assertions
- assertHasScreenCoordinates method / View assertions
- assertHorizontalCenterAligned method / View assertions
- assertLeftAligned method / View assertions
- assertOffScreenAbove method / View assertions
- assertOffScreenBelow method / View assertions
- assertOnScreen method / View assertions
- assertRightAligned method / View assertions
- assertTopAligned method / View assertions
- assertVerticalCenterAligned method / View assertions
- views
- testing, in isolation / Testing views in isolation
W
- wiki
- URL / Creating a TemperatureConverterTests subwiki
Y
- Ye Olde Logge method
- about / Ye Olde Logge method