In my previous posts, I covered how to write tests for Lambdas, run them on LocalStack and addressed the issue I encountered while working on LocalStack. Now, in this post, I will show you how to set up a GitHub Action job to run tests on LocalStack before deploying Lambdas to production. At Qxf2, we place high importance on CI/CD, […]
Test Lambda before deployment on CI using LocalStack
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. […]
Robustness Testing of Machine Learning Models
In the world of machine learning, assessing a model’s performance under real-world conditions is important to ensure its reliability and robustness. Real-world data is usually not perfect, it may contain messy data or data with noise, outliers, and variations. During model training, these types of data could be limited, and the model may not have received sufficient training to handle […]
Validating Data Made Easy: A Dive into Soda Core
This post is a hands-on example to help you start writing data quality checks with Soda Core. We realize a lot of our readers are fairly new to the topic of writing data quality checks. So, in this post, we will also go over some of the most common data checks you might want to implement on your structured data. […]
Exploring Smart Contract Testing in DApps
At Qxf2, recently we began exploring blockchain technology to understand its potential applications and benefits in various industries. Our journey into testing DApps started with research and self-learning. We immersed ourselves in learning about Ethereum, the leading platform for developing DApps, and its ecosystem of tools and frameworks. Understanding the nuances of Solidity, the programming language for smart contracts, was […]
LocalStack Issue: Security token included in the request is invalid
While I was engaged in creating tests for our URL Filter Lambda at Qxf2, I encountered a problem related to an invalid security token. You can access the code for our URL Filter on GitHub through the following link here. If you encounter an error message stating “The security token included in the request is invalid” while using LocalStack, it […]
Testing Charts with Transformers using Visual Question Answering (VQA)
I tried testing charts using VQA. What that means is that I showed several charts to an AI model and made it answer questions about it. My idea was to use these answers as part of test automation. This post will show you what (sort of) worked for me and what techniques did not work. I hope people use this […]
Context-based question answering using LLM
Companies are going to want to query their own internal documents – especially with the rise of LLMs and improvements in AI. Qxf2 has already heard of several CEOs that want to use AI/ML models to glean insights from internal knowledge stores. What does this mean for a tester? Well, you can expect to test such systems in the coming […]
Baseline Model Comparison for Performance Evaluation
Machine learning models evolve. As a tester, how do we know the newer version of the model is better? How do we know that the model did not get worse in other areas? The most intuitive approach would be to design a ‘good’ labelled dataset and then calculate the evaluation score like the F1 score for the model under test. […]
Testing AWS Lambda locally using LocalStack and pytest
Testing loosely coupled microservices requires the use of diverse testing tools. Unlike monoliths, it is challenging to have a complete copy of the production system (System Under Test) for integration testing. Often, developers are hesitant to make changes in the pipeline due to uncertainty about potential downstream impacts. In such cases, it is valuable for developers to test integration components […]