We find most testers just run the most basic tests on Lambdas. One technique that has helped us discover more bugs when testing Lambdas at Qxf2 is to send batch messages to the SQS that triggers the Lambda. Often times, when you (the tester) send batch messages and “something goes wrong”, you need to be able to triage the cause […]
Testing AWS Lambda Functions with Batch Messages
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 […]
Parameterize Tests in Rust: rstest
This post will discuss how to parameterize tests in Rust. Qxf2 likes the fact that Rust makes testing a first class citizen of the language. It provides a test runner out of the box. However, coming from Python land, we missed one feature – test parametrization. So went about looking for crates that could help. We have found rstest to […]
Rust Selenium Tests for Beginners
I created a repository of working examples for test automation on the web UI using the thirty-four crate. Beginners often have trouble finding good articles with fully working Rust code, especially professional testers who are learning the language along with UI automation. Therefore, I created something for this niche. If you are new to Rust testing and wondering how to […]
Investigating Data Loss: A Forensic Approach
Testing these days spills onto production too. Testers from Qxf2 have been able to show value by knowing how to trace transactions across multiple forensic tools. This post is for testers who have always wanted some insight into how to investigate issues in production but never had the opportunity. Background Testing in production also is a good idea. We were […]
Automate Rust Lambda deploy using GitHub Actions
We are open-sourcing a GitHub Action that will let you deploy AWS Lambdas written in Rust. This helps us automate deploying Rust AWS Lambda functions using GitHub Actions. If you are interested in the implementation details of this GitHub Action, you can look at the source code here. You can also file issues in that repository to ask for any […]
Generate CPU load using Python
Problem: How do I spike up my CPU load? Recently at one of our client engagement, for one of our tests, we needed to spike up CPU usage in a controlled manner on some of our Unix servers. One way to do this was to generate a specific amount of load for a specific amount of time. This was a […]
How to use thirtyfour crate with Cucumber-rs: Part 1
This post shows how to set a webdriver instance produced by thirtyfour as a member of the World struct defined by Cucumber-rs. We hope to follow up with one more simple post on How to use thirtyfour crate with Cucumber-rs showing ways to write browser driven BDD test automation in Rust using thirtyfour and Cucumber-rs. Why bother writing browser automation […]
Setting up Synthetic data in Neo4j
Qxf2 engineers are fans of using synthetic data for testing. We have used this technique for years now. But until recently, our experience was limited to SQL. We needed to work with neo4j in one of our projects. There was enough custom Python code and Cypher queries that we had to write as part of creating, backing up and restoring […]
Error handling with Rust using delta-rs as an example
In this blog, I will explore the various ways to do handle and/or propagate errors with Rust. Qxf2 is transitioning to using Rust as our primary programming language. The Rust documentation is great and has a nice section on error handling and propagation. However, everytime we tried to implement some of those ideas in our day to day work, we […]