This post aims to help testers create a test environment for practicing testing microservice-based architecture. A lot of testers would like to learn how to test applications that are loosely coupled microservices. But testing these applications generally require access to cloud based infrastructure. So the most common way professional testers first test such applications is at their day job. This […]
Open sourcing Newsletter Generator using Terraform
A guide to Regex Crate
Qxf2 is exploring commonly used Rust crates. We are writing a series of posts on useful crates to help you to understand how to use them with examples. This is blog is about the Rust Regex Crate. Disclaimer: We are not developers. But we make it a point to share out learning. This post was worked on in late 2023. […]
Triggering Chef InSpec tests with Airflow DAG
In this post, we will show you how to write some Python code to create an Airflow “job” (aka Directed Acyclic Graph or DAG) to trigger some infrastructure tests. By creating this Airflow DAG, everyone in the team that has access to Airflow can run those tests. This post is intended for testers who want to practice writing DAGs. 1. […]
userauth_pubkey: key type ssh-rsa not in PubkeyAcceptedAlgorithms
At Qxf2, we initially set up some of our applications on Lightsail instances running Ubuntu 18.0. Recently, we decided to migrate these instances to AWS EC2. As part of this process, we also upgraded the Ubuntu operating system from 18.0 to 22.0. We regularly backup the database of one of the applications hosted on the Lightsail instance using a scheduled […]
Getting everyone to write infrastructure tests
In this post, we will outline our usual strategy to get an entire team to quickly fill testing holes – like writing infrastructure tests. Why? Because we find ourselves using this approach frequently at clients. Some context: Qxf2 engineers work with early stage products that neglected writing tests in favour of shipping quickly. This means, we almost always enter situations […]
Auditing AWS cloud resources with Chef InSpec
Continuing from the preceding blog, ‘Auditing OS Level Resources with Chef InSpec’ which delved into utilizing the Chef InSpec open-source tool for testing individual servers via OS level resources. Now, we embark into the domain of Chef InSpec’s facility in cloud environments. Chef InSpec extends its support to cloud platforms like AWS, Azure, and GCP. Referring to insights shared in […]
Auditing OS level resources with Chef InSpec
Many of Qxf2‘s clients store their Infrastructure as Code. This means that new infrastructure is spun using code and then the application is deployed. So, as testers, we now have to verify that the right infrastructure was spun up and configured correctly. In this post, I will show you how to use Chef InSpec – a tool to write tests […]
Using Airflow to start and stop EC2 instances
In this post we will show you how to use Airflow to start and stop EC2 instances. Airflow is a popular open-source platform that engineering teams use to manage workflows. It uses a concept called Directed Acyclic Graphs (DAGs) which lets you chain multiple steps into a workflow. Airflow’s popularity is also partly due to an extensive library of operators. […]
Combining Rust and Py03 with Python
Recently, Qxf2 has been transitioning to Rust and has been writing many blogs on various topics related to Rust. The main aim of these blogs is to document our progress. In this post, I am writing about how I used Py03/maturin tool to call a Rust library from Python. We have initiated a Rust-based project called “meme-generator” to generate attention-grabbing […]
Reset password on multiple machines in parallel using AsyncSSH
I am a member of the TestOps team at my client. Our team is responsible for building test systems. In some releases, it is mandatory to reset the default password right after the application installation and this is time-consuming. This scenario was ideal for automation. I wrote a Python program using AsyncSSH and asyncio to save our team’s time. Limitation […]