This article is a part of a series introducing what the Fedora Quality Assurance (QA) team is, what they do, and how you can get involved. If you’ve wanted to get involved with contributing to Fedora and testing is interesting to you, this series explains what it is and how you can get started.
Next steps towards Fedora Quality Assurance (QA)
This is a continuation of the previous post in this series of how to get involved with the Fedora Quality Assurance (QA) team. Make sure you have the Bugzilla, FAS account, and email alias set up before following these steps. You can find more information about how to get those accounts in the earlier post.
There are several different tools and services available to help us test Fedora. This helps us insure the quality of software and stay on target for a stable release. One of the easiest ways to get involved is to run Rawhide, the ever-changing development version of Fedora, or a pre-release version like the Alpha or Beta. While you are able to upgrade your system directly to these versions, sometimes you may want to use a virtual machine (VM) to work in. We’ll cover some of the Fedora-specific tools for quality assurance testing as well as setting up your environment for testing.
Setting up test environment
The easiest way to get started with testing is to run the testing versions, as mentioned before. However, that’s not possible on all hardware and may not be something you wish to do. In that case, you can set up a virtual machine (VM) to do your testing in.
To begin with, you will need an ISO file of the version of Fedora you want to test. This may be a Rawhide image or the Alpha or Beta of the next Fedora release. For whatever development version of Fedora you wish to use, you can find them here (at the time of publishing, there is only Rawhide, because Fedora 25 is not yet branched – it will appear there soon as well). After the download is complete, you can begin setting up the VM. There are different tools available that you can use to test with.
Virtual Machine Manager
The Virtual Machine Manager, or virt-manager
, is one popular and effective tool you can use for creating virtual machines. You can install it on your Fedora system by typing the following command in a terminal.
$ sudo dnf install virt-manager
Once you have it installed, you can go ahead and started preparing your virtual machine. Open up the application and go ahead and create a new virtual machine. It will look something like this screenshot.
You can follow these steps to finish setting it up.
- Create a new virtual machine, chose the “Local install media” option.
- When prompted, find the ISO file for the version of Fedora you wish to test. You can leave the checkbox on for automatically detecting the operating system based on the install media.
- You’ll be prompted to set the number of CPU cores and amount of memory to give the machine. You’ll also see how much is now available on your system. Select however much you prefer.
- Next, you will be prompted to enable storage for the virtual machine. You will want to allocate a fair amount if you will be using this VM for regular testing. 20GB is a good default to assume.
- Finally, you’ll be prompted for a name and networking selections. Give the VM a name where you will remember what you use it for. For Network selection, make sure you choose NAT.
- Hit Finish.
After finishing these steps, Virtual Machine Manager will save your settings and immediately try to start your new VM. Once the machine starts up, you will be presented with the normal Fedora welcome screen, given the option to “Install on hard drive” or “Try it”. Click the install option.
Follow through the normal Fedora installation process for best results. Make sure when setting up your system, you tell it to take up the full available space (the 20GB partition or other size we set aside earlier). Make sure to set your user and root passwords in the installation as well. Once finished, you will be prompted to reboot like normal.
Now that we have a running Fedora test environment, we will need to make sure it is current.
Updating virtual machine with updates-testing
Depending on when you download the ISO and how far into a release it is, you will have new updates available as soon as you start the machine. It’s good habit to immediately update your virtual machine to the latest version of packages so that you are running the latest updates for software.
One key difference from updating like normal is we will permanently enable the updates-testing
repository for updates. Using this repository will allow you to use “test” versions of software that are waiting feedback in the Fedora package testing system, Bodhi. Running the following commands will enable this repository for you.
$ sudo dnf config-manager --set-enabled updates-testing $ sudo dnf update --enablerepo=updates-testing
The last command may take some time to execute, depending on the speed of your network and ability of your hardware. After this finishes, your test environment is configured and ready!
Bodhi
Bodhi is a web-based tool used for pushing package updates to Fedora. First, updates are pushed to the testing repository, called updates-testing
. After staying in testing and getting feedback, they will move to the stable repository, called updates
. To help prevent bad updates from being shipped, Bodhi is equipped with a fairly extensive test suite. This is one of the easiest ways to start contributing to Fedora and to the Quality Assurance team.
When you log into Bodhi and look at a package update, you will see critical path tests and general functionality notes on the right side of the window. Towards the bottom of the page, you can leave feedback after testing the package. The rule is to run the packages and test cases, and to give “karma” for the update. This will either be a +1 or -1. The plus indicates the package is stable and working as expected, with no regression noted. A negative will be given if the update does not function as expected or if there are major performance issues you noticed. Generally, you should only give a -1 if you are confident the issue exists and is replicable.
Try finding a package you use and see if there are any pending updates available for it. Give it a run in your virtual machine and test its functionality. If it works as expected, you can leave karma of your own on the package. This helps the packager receive feedback about the update and push stable updates to the stable repository.
Earning testing badges
What’s in it for you, if you are a tester? Over time, you earn and accumulate badges to show off and prove you have devoted your time and energy to testing badges. You can log into the Fedora Badges system at badges.fedoraproject.org. Log in with the same FAS credentials as you have used elsewhere. You will be able to open your profile and see all the badges you earned.
As you test more and more packages, there are different levels and tiers of badges you can receive over time. Each badge acts as a small milestone for your testing contributions.
Get in touch with QA
Come say hello to us! You can find the Quality Assurance team on their mailing list and you can also interact with the global community on IRC.
Debug courtesy of Lemon Liu, Crash Test Dummy courtesy of James Keuning (from the Noun Project)
August 1, 2016 — 01:14
Wow, really a great post. I’m thinking about, once again, connecting with myf Fedora community.
August 2, 2016 — 14:31
You should definitely consider getting involved! 🙂
August 1, 2016 — 02:41
What qualifications does a test person need to possess? And I presume that like any test project, there is a start date and a completion target date.
I presume that testing is to meet the next or future release of Fedora.
August 1, 2016 — 17:25
How much experience does someone need with Fedora to began QA?
August 2, 2016 — 15:00
No experience required. If you think it’s something that’s interesting to you, check out some of the info in this series and on the wiki, and feel free to jump in and get your hands dirty!
August 12, 2016 — 12:54
Good news so far. We will send one of our team to get involved in this project. We’re looking forward to get qualified staff in the QA stuff.
August 19, 2016 — 15:02
Great article, I’m taking the steps today to finally get involved. It’s always seemed so difficult, but you’ve really distilled it here and made it friendly, thank you.