Abstract
I was part of the team that developed the Bixby app, and I was responsible for the developement. Bixby is an intelligence platform using Samsung android smart phone, like Apple Siri.
My role
- Core module architect and develop
- Refactoring legacy code
- Refactoring from java to kotlin
- Unit testing, Implementation testing
- Automated UI testing
Challenge
- Test coverage was under 30%, and most of them was bad. Many tc was failed, but not fixed. And many function was to hard to test.
- Core module is too big to manage, it was responsible to handle response from backend, make events to use to application UI. There are many cases that need asynchronous processing, like waiting user action. Moreover, code quality was so bad like some functions had 300+ lines, and dependency was complex.
- Last year at Samsung, I was responsible for creating developer services. Bixby uses a component called a capsule. If you want to connect your service to Bixby, you create your own capsule using JavaScript, set the utterance you want (e.g., "Hi Bixby, do something"), and register it on the Bixby Developer Hub. My task involved creating testing tools for developers.
- We need to dogfooding.
How to treat