As I said before, in my previous post about QA, Thunderbird and Mozilla based in the slides of Ludovic Hirlimann, when I had available the video that my university recorded about that session I would update the post, so here we are again.
This update has been done instead after to watch completely the video, litle by litle every time I thought Ludovic told something more important than the rest, or something curious for me, or something that I thought was relevant.
This talk is divided in two parts, first about Mozilla, and second about Thunderbird.
1. QA in general
Software projects need QA processes since the people involved in each project wants something that maybe other doesn’t want, or doesn’t mind, I mean, is different what a project manager wants or what a developer wants, the customer, etc.
Software projects have case uses, inputs and outputs which divide what is the functionality and requirements of the project.
QA starts with engineering with the test cases, we have the unit tests, where we write functions which given an input we have to get a concrete output.
Given the different parts of a software infrastructure and scheme we have different unit tests, a complete different unit test infrastructure.
Not all unit tests are writing in the QA.
In some projects QA comes at the end of the project.
We need to have different unit test regarding the different parts of the software project, for instance the client side and the server case.
Testing based on test cases, Ad-hoc testing, Unit testing, there are the three different testing types.
The ad-hoc testing is the most creative test cases, but there are dangerous in the future because there are ad-hoc tests, and when the application changes for instance form version 1 to version 2, the previous tests probably won’t work with the new version.
In mid sizes or bigger projects the test cases will be more complicated to maintain during the evolution of the project.
Regarding the bugs we have the following points we have to know or to do:
- Is it known?
- Steps to reproduce it.
In Mozilla everybody can write unit tests.
The decisions are always an internal process because is really difficult all people involved can participate at the same time, etc.
The test case manager is to be able to record the test cases, it needs to be able to have test cases associated to each version of the software.
The bug database or bug record tool is really important to know the bugs we had previously which was fixed, and the way to fix it.
Tools like Jira, BugZilla, Trac and many other cover this.
Main important areas in tests cases:
- IT apps
- Webapps (urlbased)
- Native client apps (not an IT nor webapp app)
2. QA in Mozilla
They do Firefox, Fennec, Thunderbird and WebApps.
They are maybe 20-30 QA in Mozilla, Ludodvic is the QA responsible in Thunderbird.
Per each project they have an internal team who work in the QA.
Selenium is a Java framework to test web pages.
Is impossible which one person can test all the different cases that million of people who use Firefox or Thunderbird can do.
Every they build versions for MS Windows, GNU/Linux and MacOSX in the called nightly releases.
They have Firefox Aurora which is the Firefox with all the newest improvements (and bugs) and Firefox Beta which is released after fixed problems in the previous one.
Finally they have Firefox which is the final release version, to the main public.
Every Friday they have a new version ready to be tested.
Most of the people involved on the development of Firefox are students.
Bugzilla is the tool developed by Mozilla foundation to report and manage bugs
Mozilla Foundation has Mozilla Corporation (MOCO) and Mozilla Messaging, the first one develops Firefox and the second one Thunderbird.
In 2011 Mozilla Messaging was dissolved and Thunderbird was passed to Mozilla Corporation.
In his work Ludovic (and the rest of Mozilla also) uses Bugzilla, buildbot, tbpl, tinderbox, litmus, mailing lists, wikis, irc, selenium, etc.
Thunderbird is build using the same engines which uses Firefox.
In 2009 Thunderbird was rewritten completely removing the previous “spaghetti” code.
They have very dedicated volunteers.
1- How many contributors are helping in the development?
7.5 developers (some of them working on Thunderbird in their spare time)
2- What do you think about security browsers?
He doesn’t know about Chrome.
They have a team dedicated about it in Firefox.
NSPR is the library they use in Mozilla for their products and also it’s used in Chrome, it works in a low level, and also they use NSS.
They have a team of 5 people working finding and solving bugs in spidermonkey.
3- How is the relationship between Google and Mozilla?
They are friends.
They share some code, they work together sometimes when they discover bugs.
Google pays money to Mozilla Foundation to put they web search in Firefox, for each search made by Firefox search Google tool, Google pays Mozilla.
4- What do you think about the rapid release cycles?
In the support side, it mean the double of work to do, if they compare it with the old release cycle.
Now they have a lot of documentation to have up to date.
You can’t spend a week without being active.
5- How do split the different tasks between the different testers?
Do you use any kind of software to do it?
The maximum number of tasks groups are 47.
6- Is the quality assurance team of Mozilla using the same testing methodology?
The way to work is asynchronous.
7- How do you caught new or more volunteers to have more testers?
Do you have any kind of strategy to engage new people to the quality assurance team?
The mostly people comes by they-self.
Other ways is giving talks like in FOSDEM and other events making publish of Mozilla and there are people who then want to be involved.
8- What do you think about HTML5?
He thinks HTML5 is for people who want to create very enrichment content and websites in an easy way.
He thinks about Internet is not just web, is HTTP, telnet, ssh, etc.
He is not the right person to ask, he is not a good “web-man” he prefer HTML5 than for example to use Flash which is under Adobe ownership.
9- Which are desired or required skills to be a Mozilla developer?
It depends of the part of the code you want to collaborate or work in.
10- Do you have any kind of API for Thunderbird?
Is full of API for doing different things.
11- Do you have notice of an extension that caught your attention for its success like for example Ad-block?
Slightly similar to ad block for Thunderbird.
AnyMail is for secure purpose.
12- Is there any way to make money with Thunderbird?
No or he doesn’t know.
13- Do you know something not implemented in Thunderbird?
If this is true what needs to be done?
14- What is the relationship between Mozilla and Ubuntu?
He know the Ubuntu guy who works with the Thunderbird package.
The reason Ubuntu change Evolution for Thunderbird is a question about usage, stage of the development, features, package, etc.
15- What is your opinion about the name used by Thunderbird in Debian (IceDove)?
They changed the name for a very known issue in 2005.
16- How do you to engage enterprises and companies in the use of Thunderbird? There is any strategy?
17- Why the name of Fennec instead Firefox?
In the released Android Market version is Firefox.
18- Is there any way to filter all the information stored in Bugzilla? Or do you filter the information manually?
There is an API in bugzilla to access to the information stored on it.
19- Can you explain why a high amount of new users doesn’t know that Mozilla is an open source project?
In 2006 Firefox became really popular by the fact of to avoid pop-ups (IExplorer and the rest of web browsers didn’t do that)
After write the previous post and this new update, and after study the slides and watch the video, I can say that this talk was a really interesting talk about a very important project in the FLOSS world and also by a very important person involved in it.
The QA both for Mozilla and more concretely for Thunderbird is really important, if a FLOSS project doesn’t have a QA process then, if the project want to compete with a privative application created by a very important company this is really difficult or maybe impossible, if you don’t have a QA team with testers and tests, you can not solve all or many of your bugs, and in every new version of your project you will have more problems.
The way that Ludovic and Mozilla manage the QA process is really interesting, is awesome how a small team of people around the world while the are not together can work together like one person, in fact is the way that a FLOSS project works.
And that’s all my friends!!