We have developed a time view of statuses metrics based on Jira data as part of our engineering benchmarks application Note: This post is written in continuation with the other blog on the engineering metrics. What is time view of statuses metrics? It is the time view graph that shows how many tickets were present in a given set of statuses for each […]
Time analysis of Jira statuses using Python
Where is your engineering team spending most of its time each sprint?
We have been using Python to analyze data in Jira. We have developed sprint metrics (we call them bucket metrics) based on Jira data as part of our engineering benchmarks application. The graphs we produce helps us during sprint retrospective meetings Note: This post is written in continuation with the other blog posts on engineering team metrics An example bucket metric In this […]
Qxf2’s automation testing framework uses Python 3
We have updated our open-sourced GUI automation testing framework to use Python3. This update was due for a long time. We have had a lot of requests from people asking for our framework to use Python3 and we finally found the bandwidth needed to migrate to Python3. We will also no longer support Python2. If you already use our framework […]
Sample Solid application on Python Flask
Recently, we stumbled upon Inrupt’s Solid and after going through their fundamental documentation, we became keen on building a sample solid application and get a better understanding of it. All of Solid’s examples are built on JQuery and NodeJS. We like Python and so we wanted to build some Python-based examples. This post will focus on how to use Python […]
Sending images and log messages to ReportPortal
Problem: There is not much information on how to send or attach images to ReportPortal Why this post? We started using ReportPortal for reporting automation test results. Along with the test results we also need to send log messages and images/screenshot to ReportPortal. These are useful artifacts which help people monitoring them check the success and failure reasons and take […]
Implementing Python Requests library in our automation testing framework
Qxf2 automation framework supports API testing. We used Mechanize library to make REST calls for our testing framework. As we migrated from Python 2 to Python 3 and since Mechanize is not supported on Python 3 we had to come up with an alternative module compatible with Python 2 & Python 3. We decided to use Requests library. In this […]
How do you know if you have collaborative agile team?
We have developed team collaboration metrics based on the comment history of Jira tickets. It helps us identify people who are not collaborating well on Jira. It also helps us spot imbalances in teams (e.g.: person X is talking ONLY to person Y, or that person Z is really working well with everyone!). Note: This post is written in continuation with […]
Analyze JIRA data with Python
Most of our clients (Agile software teams) use Atlassian Jira for managing tickets and sprints. Every day, we keep updating the Jira for all tasks that are being worked upon. We realized that Jira has huge project/team data logs but Jira reports were not that helpful in capturing work habits of teams. Hence, Qxf2 has ended up developing an ‘Engineering Benchmarks’ […]
ReportPortal integration with pytest and pytest markers
Problem: If QA wants to make a difference with their testing and influence decision-making, we should convey our test results clearly. Hence test reporting becomes an important part of testing. There are several test reporting tools available and recently many AI based test reporting tools are getting popular. Integrating with these reporting tools is useful. In this post, we […]
Migrating our automation framework from Python 2 to Python 3
Qxf2’s Selenium, Appium and API test automation framework using the Page Object pattern was built with Python 2. We started receiving a lot of requests for Python 3 support. With Python 2 set to retire by the end of 2020, we migrated our existing Qxf2 automation framework code from Python 2 to Python 3. In this post, we will have a […]