image Running development tools and applications in Docker on Windows 10 image NDepend – Use query language to generate dependency reports

QA Toolkit part 1

This is exciting! I’ve been brewing the idea about this for almost a year now, and it’s finally come to the realization. I developed and used many tools and scripts over the years, but I never compiled them in the packages that I could share with you. Finally, after a month of refactoring and preparing the NuGet packages, the QA Toolkit is born!

QA Toolkit is a collection of libraries, tools, and scripts for running automated jobs for assuring smooth development, general and QA testing, and running fitness functions for your applications.

It’s open-source software, released under MIT license, and has found it’s home on Github. There is also a complimentary web page located at https://qatoolkit.io. OK, now let’s go to the fun bits!

What’s in the box?

Currently, we only have 3 major .NET 5.0 libraries. Actually, there are 4 Nuget packages you can use overall. Those can be used to compose your own tools and solutions. Let me give you a short presentation for each library.

QAToolKit.Core

That is a core library, that is the “glue” that holds the packages in place. It contains models, interfaces, and helper functions that are shared between them.

QAToolKit.Souce.Swagger

Swagger is a tool for writing and sharing standard Web API contracts and is quite common nowadays. The library support OpenAPI standard v3.0.

At the heart of the library, there is a Swagger processor, which takes the Swagger file, parses it, and processes it to a toolkit standard object HttpRequest.

QAToolKit.Engine.Bombardier

If you do not know the Bombardier CLI written by codesenberg, you should. It’s a load testing tool and I’ve written about it earlier this year. The QA Toolkit Bombardier library is a wrapper around the Bombardier, providing test generation, test running, and result asserting. The input is the standard object HttpRequest.

QAToolKit.Engine.HttpTester

If you need to test HTTP API endpoints, you can use this library. It adds a fluent API to the standard HttpClient object in the .NET framework, which helps develop tests. You can use it for xUnit, NUnit tests, or just writing your own tools. The library can be used to do integration or service tests on your HTTP APIs.

There are many more NuGet packages in the pipeline so come back later. I am also preparing a qaCLI, which is a standalone CLI for doing all sorts of tests. And you guessed it, that qaCLI will be a prototype of a tool you can create from all of those libraries QA Toolkit provides.

For now, I encourage you to go to the Github page and read all about it there. I would really appreciate it if you can give me some feedback.

Stay put for more content and videos about the QA Toolkit in the near future.

Links:

Update 20.12.2020

There are 2 new libraries release since my last writing and those are:

QAToolKit.Engine.Database

It’s a simple database fitness testing library. It supports SQL Server, MySQL, and PostgreSQL database servers. You can test that database’s fitness by checking if database objects like tables, views, and stored procedures exist, check if a record exists, or count in a table equals your specification.

QAToolKit.Auth

It’s an authentication library that currently supports AzureB2C, Keycloak, and Identity Server 4 identity providers. You can create Client credentials flow access tokens that can be used for high-level testing of your HTTP services.

About Miha
I've always been fascinated by computers. I am happy that I can work in this creative field of software development, where I can solve problems. I am also an avid cyclist :) and I love to learn...a lot!
Related Posts
  • All
  • By Author
  • By Category
  • By Tag

Leave a Reply