Getting Started with Release Validation Testing in Fedora QA

Release validation testing is a process which takes place before the official Fedora release. (Fedora is the upstream, community project from which RHEL is built.) Before the Final (GA) release, we have Alpha and Beta pre-releases and at each of these milestones, nightly builds (nightlies) and composes are released and tested to ensure that the release meets quality standards. Release validation testing is one way you can help Fedora get better, and this post will talk about how you can start off from scratch.

Continue reading “Getting Started with Release Validation Testing in Fedora QA”


Continuous Development with Automated Testing

Automated testing is one of the hardest, but also the most important thing to get right when doing Continuous Delivery or DevOps. Recently Aslak Knutsen and I hosted a webinar with the title “Continuous Development with Automated Testing”. The webinar had quite a few viewers (and maybe that was one of the reasons that the demo in the webinar didn’t exactly go as planned.)

Continue reading Continuous Development with Automated Testing

Test-Driven-Development for building APIs in Node.js and Express

Test-Driven-Development for building APIs in Node.js and Express

Test-Driven-Development (TDD) is an increasingly popular, and practical, development methodology in today’s software industry, and it is easy to apply in Node.js – as we’ll see in this article. TDD forces much greater code test coverage, and if you aren’t already using it, I’d strongly encourage trying.

The process is: define a test that expects the output we want from our library, API, or whatever it is we’re testing to produce; ensure that the test fails – because we have not yet implemented any functionality; then write the implementation code required to make that test pass.

Continue reading “Test-Driven-Development for building APIs in Node.js and Express”


Testing your software stack without root privileges using cwrap

by Jakub Hrozek and Andreas Schneider

Software testing is already a hard business. It gets even harder if you need to test software that is networked, requires custom users on the system or resolve DNS queries.

Consider software such as a file server — it needs to listen for incoming connections on a certain port, often a privileged one in case of well-known protocols. The file server also requires the ability to switch to different user accounts and act on their behalf to create files owned by these users. Finally, a client of this hypothetical file server might want predefined SRV records to be present in DNS for autodiscovery to work properly. All these cases should be tested on every build.

And it gets even harder if your unit tests can’t run as the root user to set up the environment. The use case of testing the full stack, including network, users or DNS with only regular user privileges is exactly what the cwrap.org project is aiming to solve.

Continue reading “Testing your software stack without root privileges using cwrap”


cmocka 1.0

The cmocka project finally released version 1.0. cmocka is a unit testing framework for C with support for mock objects.

In software development, unit testing has become a standard part of many projects. They use tools like cmocka to check some of the functionality of the source code. Unit-testing frameworks allow testing of low level functionality and ensure that all software components are working correctly and often prevent regression if you do code changes.

Continue reading “cmocka 1.0”