In this post, I want to give you some practical information about a monitoring system for automated tests. I will touch the following topics:

  • Why we need a monitoring system for automated tests
  • What are the potential benefits of the monitoring system
  • A simple approach using the following technologies: Elasticsearch, Kibana, Firebase test lab so gcloud and gsutil, XCTest and Espresso

What is the Centralization of Log Systems

In a development pipeline, we have a variety of tools and technologies with different languages and scripts. CI/CD pipeline is a good place the see the process of the development, but to get the detail of an item…


Automated tests for API and services are very important so there are lots of solutions for API test automation in the market. These solutions can be commercial-off-the-shelf (COT) or opensource libraries also, there are many frameworks created around these opensource libraries. Testing APIs with tools that have IDE can be easy to start and learn but it can be challenging to customize for your unique problems or integration to CI/CD tools can be hard. Therefore I can suggest you use one of the opensource libraries by implementing it with your favorite language. In this way, it can run faster, easily…


Years of experiences in the software industry shows that there are many more thing that has not been discovered yet. Every approach found in the software industry aims to accelerate the development speed with more customer satisfaction. Hence the new term “TestOps” is also creating different perspectives on the relationship between test activities to the operational activities within the DevOps culture. In the post, I want to explain my experience with the TestOps.

What is TestOps

It shortly stands for tests and operations. Within the DevOps culture, it is a sub-discipline DevOps. There are two approaches to TestOps, these are related to the…


Testing is enjoyable if you are using the right tools and technologies, of-course you also need to understand the philosophy behind the testing. I generally use testing tools interactively to try different options that the tool you are using gives as alternatives. For Selenium and Capybara, I have scripts to run get to get them ready on my console, you can read more this post for

Windows and this for Unix-like. Under the quarantine days, I wanted to create a Ruby GEM for any want to get Capybara experience on the console for their project.

Capycon is simple, the short…


Automated testing is running the tests and reporting results by tools with scripts. Automated performance testing is designing the performance test scenarios to run them spontaneously by tools and evaluating the result by tools to decide to go or not to go further.

  • A subset of the performance test scenarios
  • Designed to run spontaneously by tools
  • Designed to evaluate the result by tools
  • Designed not to break the system
  • Having decision metrics, ex: max response time, max-average resp time, …
  • Designed to create reports for the concurrent and historical run

What Types of Performance Testing Should be Automated

Automated performance testing can be applied to all types of…


You may have heard that we are running the cases in the headless mode so that we could accelerate the execution of the test cases. So is this true all the time? In this post, I have a little test to compare the headless mode in Chromedriver with version 2.33 and Chromedriver. The tests were run in Windows.

I am using Capybara, I have around 200 test cases written in Cucumber. Tests are running parallel with 15 execution lines. This execution is controlled by tags so we can get the execution time when a tag finished. With this way, we…


Postman seems to become a defacto tool for service testing because Postman is a very user-friendly, easy-to-learn, all-in-one, lightweight and collaborating tool. Postman has been used for a long time but recently it has growing popularity because of the following benefits:

  • a stable native application
  • collaboration feature after version 6.2
  • sharing of collections for team
  • interactive working with the team
  • mocks for isolated testing
  • environments for running the test for different test environments such as local, development, stage

For me, one of the biggest features is easy-to-use for everyone in a team so everyone in a team can use and…


June 14, 2018 Mesut Güneş

If you are using Capybara with Cucumber, tagging is a very efficient feature of the Cucumber for manageable test cases. Tagging can be also used for managing test environment, like @test may mean that these tests run only in the test environment so set the environment as the test for me. Likely @live may mean that these test can run on the live environment, assume that you are applying continuous testing. You can also give the scenarios for device-specific tags, like @ihphone6_v may say these tests are for iphone6 with the vertical mode.

Moreover, with…


If you are testing your application against emulator / simulator, you will still have risks that the expected features may possible not work on several real devices. To handle the real device testing you should have many devices to run your tests. In the current market, we have lots of possibilities for device and operating system versions combinations. Best approach to find most used devices, you should use some statistical data. Most of the cases Pareto analysis can help for selecting high coverage devices. However if you want to find more bug before release, you can focus on the newest…


Page-object model is a pattern that you can apply it to develop efficient automation framework. With page-model, it is possible to minimise maintenance cost. Basically page-object means that your every page is inherited from a base class which includes basic functionalities for every pages. If you have some new functionality that every pages have, you can simple add it to the base class. Base class is like the following:

… to see detail about the subject go to my blog.

Mesut Güneş

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store