Hotwire Tech Blog

Scribes from Hotwire Engineering

Less-Manual-More-Automation

Hotwire follows microservices based architecture. However, splitting the core functionality into microservices is a challenge in itself. Integration testing is very important to make sure all the microservices work well together. That is a primary reason why teams here rely more on test automation. Test automation make it easier for teams to be agile and deliver faster. However, just writing lot of integration tests is not enough; making them deterministic really matters. If tests are non-deterministic, SEs/SDETs end up spending more time…

Read more...

Overview

 

Our Android app had grown at a rapid pace, and more growth was on the way. Our UI widgets were defined in the same classes as our API response handlers. Some of our activities were over two thousand lines of code. Activities and Fragments that had originally seemed short, succinct, and well organized had grown into an unrecognizable thicket of Java. We needed to tame this wild growth before our code base became another spaghetti code behemoth. Enter MVP.

As anyone involved in the Android development community is likely aware, the Model View Presenter (MVP) architecture has gained a lot of traction in the past few years…

Read more...

Image comparison in automated testing

powered by ImageMagick

Latest trends suggest that image comparison in automated testing is becoming popular due to growing number of mobile devices and complexity of their UI. At almost every Selenium-related event, speakers mention such tools such as Applitools Eyes or Sikuli, even more so at Appium-related conferences and meetups. So, why is everyone excited about image comparison?

Read more...

Goal

Speed of deployment has always been an important metric used to judge how often and efficiently an app release can be. As we’ve mentioned in our previous post iOS Continuous Deployment , here at Hotwire, we spend a lot of time figuring out ways to reduce release regression time. Two pockets of opportunities are – reduce the test writing/execution time and another is to reduce test framework maintenance time. In the past, it has been a challenge to keep our functional testing framework robust enough with every iOS release considering third party tools(in our…

Read more...

It’s no secret that marketing spend is a significant boulder for any consumer company. There are numerous ad-networks and platforms that marketing teams use to run their campaigns. Given the plethora of choices, it is really hard for them to make a decision on how to distribute their marketing spend across these different channels. Marketing attribution provides them with actionable data. It is the act of tracking the source/touchpoint for incoming traffic, and attributing transactions to those touchpoints based on specific attribution models.

At Hotwire we treat marketing attribution as a first class citizen. We recently simplified the attribution flow to make it much…

Read more...

For companies interested in measuring customer satisfaction, the Net-Promoter-Score (NPS) is a widely adopted method and standard. So what is NPS? NPS could be calculated based on the average response of a set of customers to a specific question: “How likely would you recommend our company to your family or friends?” While several variants of the rating scale exits, the most often adopted version uses 0 for least likely to recommend and 10 for most likely to recommend. Naturally, companies are most interested in customers who express high NPS values (e.g. 9 or 10) that are referred to as promoters and customers who…

Read more...

Problem

There are many test case management tools available out there but if the automation team does not select the right tool, they could face one or more of the below limitations:

  • Cannot update test case execution results automatically.
  • Cannot easily integrate with our defect tracking tool.
  • Cannot create custom reports.
  • Cannot notify test results to interested parties automatically.

Evolvement

The Android team has used various tools for managing test cases ranging from simple ones like Word, Excel to full blown ones like TestLink. With Word, Excel etc. we can just list the…

Read more...

Problem:

Scoring Service is a microservice used at Hotwire to determine the order in which hotels get displayed to a user corresponding to her searched destination. It uses machine-learning models developed by the Data Science team to compute scores of hotels based on its features. Hotwire Search Team has built a robust container- based infrastructure that allows Data Scientists to experiment with different sorting algorithms in order to provide the most relevant results to our users. Data plays a very important role when training new models. A sort model can only be as good as the data it is trained on. Thus, it is very important to…

Read more...