Look inside the box

Associated mindmap for automation guild 2020 look inside the box

Get Started. It's Free
or sign up with your email address
Rocket clouds
Look inside the box by Mind Map: Look inside the box

1. Techniques

1.1. Test data

1.1.1. Setup

1.1.2. Cleanup

1.2. Web

1.2.1. Cookie manipulation Login tokens Feature flags hard coding

1.3. Network

1.3.1. Mocking

1.3.2. Waiting

1.3.3. Record and replay just the network

1.4. Level-1 verifications

1.4.1. API verifications instead of UI

1.5. Navigation

1.5.1. URLs (web)

1.5.2. mobile Deeplinks Activities Intents

1.6. Database manipulation

1.6.1. Android: shared preferences or sql lite manipulation

1.6.2. iOS: plist file manipuation

1.6.3. Client DB

2. Outro

2.1. Cons/critcism

2.1.1. Not testing end user flows Show the pyramid slide Don't use them exclusively, have some pure E2E tests as well

2.1.2. Test hooks can become out of date Requires maintainence just like prod code

2.2. Benefits

2.2.1. KISS Keep test code simple Exercise only part of the app that is relevant to the test. Mock other pieces Idempotent tests Creating tests is easy, maintaining them over hundreds of runs over a period of years is hard

2.2.2. DRY Don't repeat same actions in all tests

2.2.3. Makes parallel runs of tests more manageable

2.3. Achieve

2.3.1. Control

2.3.2. Predictability

3. Intro

3.1. What is the box

3.1.1. Automation treating SUT as opaque box

3.2. why do people start believing the box

3.2.1. Manual tests and testers transferred to automation

3.2.2. contractors creating automation

3.2.3. automation code not co-located

3.2.4. Hard/unknown/not owned by this team automation at other layers API or backend

3.2.5. To maintain fidelity with end user

3.3. beneath the box

3.3.1. You might already be using them without realization

3.3.2. Applicable to all kinds of automation- Web, mobile, API

4. Additional resources

4.1. Network manipulation

4.1.1. Web Cypress for network manipulation Network Requests

4.1.2. Android square/okhttp

4.2. Data manipulation

4.2.1. web Cookies manipulation setCookies · WebdriverIO webstorage Java Code Examples org.openqa.selenium.html5.WebStorage

4.2.2. Android shared preferences manipulation How to Set Shared Preferences in Espresso Test for Kotlin and Java

4.2.3. ios plist file Reading plist resource from your iOS Framework library