Bip Test Automation Case Study
General Information About Turkcell
Turkcell was founded in 1994
Head Office in Istanbul
20,000 employees worldwide
Turkcell is a telecommunication and technology services provider, founded in 1994, headquartered in Turkey. Turkcell provide services to its customers with voice, data, TV and value-added consumer and enterprise services on mobile and fixed networks. Turkcell Group of companies serve 67 million subscribers in 9 countries – Turkey, Ukraine, Belarus, Northern Cyprus, Germany, Azerbaijan, Kazakhstan, Georgia, Moldova.
BİP is a instant messaging application. Basic features of BİP are text messaging, voice messaging , VoIP and video calls. First challenge is those core features are affected by network interruptions, changes or app notification installed on mobile device. Second challenge is having a large user base with various Android and iOS devices. Lastly, BİP is used in different countries with different languages so texts on the app’s components changes according to regional settings of the mobile device
Turkcell has to make sure that communication quality is running seamlessly and localization varies according to device language. In order to achieve device coverage with all those challenges, automation is placed in the center of quality pipeline. As Turkcell has 2 weeks cycle sprints, we need to make sure Continuous Testing principles should be applied.
We have created a team of 6 test engineers. This team consist of test analysts and software developers in test (SDET). Test planning, test case documentation and test case scripting are divided in this group. While test analysts analyzed the project needs, and create test cases by using requirements, SDETs worked hard to analyze the challenges they would face during the implementation of test automation.
In order to achieve those challenges, we have used below technologies and approached:
Automated Testing Can Yield Enormous Positive Outcomes
As most important features of an IM application is conducted cross devices, we had to create a synchronization system integrated with Selenium Grid to control mobile devices before, during and after conversation tests. This layer is based on a synchronization algorithm where it control status of all devices in a conversation so our automation suite runs on more than one device simultaneously. During those test; one device become the sender, the others become the receiver. By synchronizing those device in the conversation we managed a device to wait for its peer while sending a reply to a message or a call. All devices have to finish their job for a test to pass.
As a user is on the move, he or she will encounter different challenges during daily usage like signal loss, signal strength weakness. We created a library to manipulate network settings of mobile devices connected to our mobile device lab. Having that layer allowed use to turn on/off wifi or change our network connection from 3G to EDGE or close all network connection during any type of conversation in Android and iOS devices.
Testinium developed by our R&D team is tool. It has Continuous Integration, Test Planning, Execution and reporting feature. Test Planning feature helps test engineer to group automated test cases. So test cases are grouped according to test cycles like smoke test, system tests and regression test. And they can be scheduled to execute different date and time. Testinium is also integrated with our device farm consisting 100 Android and iOS devices. By using Testinium we ran our test in 19 iPhones( iOS varying from 8.x to 10.x) and 21 Android devices(varying from 4.4.2 to 6.0 versions and different brands).