Testing for Mobile Developers: Useful Videos from Android Meetup

It doesn't matter if you work for a startup or a large organization, a product company or an outsourcing company. All this is completely unimportant if at one point you decided not only to write the code, but also to be responsible for it.



It is to this topic that we dedicated the meeting of Android developers and mobile testers at the Android Paranoid meetup and discussed:



  • How can a developer bring a project to stability using testing?
  • How can a developer help a tester?
  • How to choose the best tool to improve the quality of development?


Timecodes are affixed, welcome under cat.







Stability 3d



Vladimir Genovich, Lead Programmer (Yandex.Money)



I started writing tests quite late. This is because in many testing materials a conditional example looks like "assertEquals (2 + 2, 4)", and then you look at your code and don't know what to start. And then the day came when on a new project I decided to write the code so that it was better prepared for testing. Then I figured out why some tests do not help and how to avoid it, and then I learned how to apply all this to legacy code.



The purpose of the report is to show developers (newcomers to testing) how testing can be implemented in legacy and how it will help put the project in order in terms of stability. And in general, I will share my own practices that will help you write better code.





Timecodes



0:20 - How the history of testing began

1:46 - Preparing our code for testing. Pure functions

3:02 - What about legas? 3d approach: prove, trust, admit.

3:40 - Prove the code works with tests

5:00 - Test pure functions on a range of input values

6:30 - Why you shouldn't use random values

8:12 - How to choose ranges of values ​​for testing

10:39 - When Unit -tests may not help?

11:36 - Trust your data types and checked code

12:48 - Wrap primitives in objects to reduce possible options

14:05 - Factory methods for creating objects

15:08 - Either concept

16:44 - 2 cases for testing factory methods

17:43 - The code covered by tests works, but the application crashes: why?

18:09 - Assume that external systems may not work correctly

18:50 - Either to protect

19:23 - Create "clean" pipelines from input to output

21:20 - Why write so many tests, does it still work?

22:28 - Summing up: prove, trust, admit.






How to make life easier for a mobile tester



Dmitry Zhakov, tester (Yandex.Money)



In our company, mobile development and testing work as a single whole, we do our best to help each other. And we can say with confidence that you can develop not only features in the application! You, as a developer, can help testing, which will increase the speed of product verification. In my talk, I will consider the methods that work in Yandex.Money. They allow you to reduce the number of steps during testing or preparing data for it.





Timecodes



1:55 - Where does the path of a tester begin? Testing methods

2:15 - Tip 1. Logging: what is needed and what to do if there are too many logs

4:03 - Logging when checking user events

7:00 - Checking user behavior events: Appium and Espresso

10:29 - Tip 2. Taking care of matchers and UI element accesses

12:35 - Chuck: a tool for quick access to information

13:50 - Secret menu for the developer and QA

16:48 - Launch the application

18:42 - How to identify the device in the mobile zoo?

23:12- Test environment: test server, traffic spoofing and user training system

29:56 - Summing up: how the developer can help the tester






The most fashionable UI-test framework in 2k20



Dmitry Manko, Android developer (Citymobil)



Sooner or later, all developers will be faced with the fact that they want to improve the quality by automated means. Now the Android development market is overflowing with great tools, and you need to choose the best one. In the report, I will present an overview of popular frameworks on a small test case, how different frameworks cope with simple and non-standard things.





Timecodes



0:32 - What is testing?

1:05 - The first step to testing: choosing a framework

1:55 - PageObject: one of the selection criteria

3:55 - Checking frameworks for UI-test and test-case (example with checking a phone number)

6:19 - 1 test for Espresso : expectation and real requests

11:52 - 2 test on UIAutomator

14:08 - 3 test on Barista

15:45 - 4 test on Kakao: distinctive features

17:28 - 5 test Kaspresso: 3 happy Drakes.

20:49 - Summing up: what needs to be done when choosing a framework.



All Articles