We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

10 years of open source test case management

00:00

Formal Metadata

Title
10 years of open source test case management
Subtitle
with Kiwi TCMS
Title of Series
Number of Parts
561
Author
License
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
In the world of professional QA there are many proprietary test management tools but very few open source ones. This lightning talk will tell the audience why and how we resurrected Kiwi TCMS and what are we doing to make it the best open source test case management system! FOSDEM marks 10 years since the first version was released and our team will celebrate at the Open Source Test Management stand, Building K, Level 2, stand 10!
10
58
80
111
137
Thumbnail
15:21
159
Thumbnail
18:51
168
Thumbnail
26:18
213
221
Thumbnail
15:22
234
Thumbnail
49:51
248
Thumbnail
23:06
256
268
283
Thumbnail
28:38
313
Thumbnail
1:00:10
318
Thumbnail
21:35
343
345
Thumbnail
36:13
353
Thumbnail
18:44
369
370
373
Thumbnail
44:37
396
Thumbnail
28:21
413
Thumbnail
16:24
439
455
Thumbnail
25:10
529
Thumbnail
15:36
535
Thumbnail
28:04
552
Open sourceInformation managementStatistical hypothesis testingPhysical systemPay televisionComputer-generated imageryGoodness of fitMedical imagingProjective planePhysical systemLink (knot theory)Axiom of choiceBitRepository (publishing)Computer configurationFunctional (mathematics)Revision controlCodeOpen sourceMultiplication signLine (geometry)Software developerMyspaceDirection (geometry)Exception handlingGroup actionSoftware testingTouch typingStatistical hypothesis testingDecision theoryStatement (computer science)Type theorySoftware bugPlug-in (computing)INTEGRALWeb 2.0TrailStatistical hypothesis testing1 (number)Information managementInformationResultantOcean currentData managementCASE <Informatik>State of matterComputer fileSuite (music)Source codeModule (mathematics)Graph coloringCanadian Mathematical SocietyInformation securityIntegrated development environmentSoftwareDebuggerEntire functionComputer animation
Lattice (order)Event horizonLevel (video gaming)BuildingStatistical hypothesis testingProcess (computing)Singuläres IntegralRootMaxima and minimaData managementOpen sourceProjective planeUser interfaceWebsitePhysical systemMedical imagingTranslation (relic)Information managementFeedbackMaschinelle ÜbersetzungForm (programming)Self-organizationMultiplication signField (computer science)BitSoftware developerOpen sourceGroup actionMultilaterationError messageWordIntegrated development environmentInsertion lossStatistical hypothesis testingFormal languageFront and back endsPresentation of a groupSoftware testingDomain nameStatistical hypothesis testingWeb pageSpacetimeProof theoryLibrary (computing)Direction (geometry)Theory of relativityOnline helpFlow separationArithmetic progressionInformationCore dumpMereologyState of matterSource codeComputer configurationResultantLevel (video gaming)Traffic reportingComputer animation
Computer animation
Transcript: English(auto-generated)
Okay, hello, how are you? Good. My name is Alex and I have been coming to Fochstäm for the past 10 years every single year and This is my first time doing a lightning talk This is also my first time when I'm traveling together with a team so far
I've been alone and this is also the first time our team is having a Project stand here at the conference and all this is pretty cool And I want to tell you the colorful history of kivyTCMS and what we do what we stand for and I want to tell you that we are turning 10 years old this week. We are celebrating here at Fochstäm. So it's all good
So, but first what is test case management? When you do software testing quality assurance, you need to keep a lot of information around you need information about Which version of your software was tested On what kind of environment which build what kind of test cases were executed to which ones were not executed
What was this testing result and at the end? All of this information boils down to should I ship this version to the customer or no? If you are a test manager, maybe a test lead you will go to the system Take a look at the test results figure out how happy you are with the current state of affairs in testing and
Make the decision ship or don't ship So in the commercial world, there are quite a few options for such systems. They are relatively popular There are some that look very nice others that look rather ugly. There are plugins for Jira
There are standalone system desktop systems and web systems and so on in the open source world. We don't have a lot of options Initially there was test link It's very old projects. Many of you may have heard it It is still a little bit active. They released about one version a year or something like that
Then after test link came to stop ya another project from Mozilla again open source working in the same to myspace They lasted for a couple of years And it kind of disappears. Unfortunately Mozilla doesn't use to stop you anymore. They don't support it Although there are some commits made to the repository so not really active and in 2009
I was working at Red Hat was starting my careers software tester and they decided well You know, we don't like the current systems that are available in the open source world. So let's build another one And this is how it was born. This is the first version that was released 10 years ago
And this is how our history starts So this thing continues development for a while privately and as we know everything Red Hat touches becomes open source So this is no exception in late November 2014 The source code was pushed to GitHub This is a nice thing by itself. Unfortunately, the way this was done was kind of indicating the direction where upstream was going
We have one single commit no prior history a bunch of files put together. We have no idea What they are how they work turns out there is a lot of source code, which was not used There were a lot of functions which were not used There were duplicate function copied around different modules which were not in use the test suite wasn't
Working so all of that in the initial commit So anyway, the GitHub history tells you that development continues for a while from what I can tell mostly from people who were on the original team of the upstream system and Then slowly in the next year in 2015 kind of dies
Away, so at that time I was consulting for a small startup company and we wanted to use such systems So the obvious choice is whatever is open source that is available on GitHub. Let's take it Make a deployment internally figured out if it doesn't work We'll fix it. So this is what we do and we immediately start running into problems
So first upstream is using a very very old version of Django that is full with security problems with bugs We want to upgrade immediately that's not possible because you cannot just jump from jungle 1.6 to 2.0 So you have to go through every single minor version and fix a lot of stuff that is failing in between
To actually be able to upgrade Upstream is using my SQL. We are using Postgres and you will say well, it's an orem based system But it's not it's orem based and we had a lot of hard-coded SQL statements in the source code
Which work only on my SQL. They didn't work on Postgres. So we had to fix Upstream was using vagrant for deployment. We were using Docker. So we had to build our own Docker images as well So fix fix fix and we started sending pull requests upstream. Some of them got merged but most of them didn't and
The funny thing is my first ever pull request to the upstream repository It was made almost three years ago and it is still open to this day That is about changing the book tracker system In this tooling so upstream integrates they have hard-coded bugzilla.redhat.com as their book tracking system and you cannot use anything else That's still open
So what we do we do a lot of internal development we do fixes we start Deploying internally and You know, we kind of start liking the system And at the same time I left the startup company and I decided I will continue to work on this alone because I like it
And I think you know, it can be a nice project. It can be revived So the obvious thing of choice to do when upstream is that is to create a fork and this is what I did So I took the fork which we had internally in the startup company. It was in a private repository So I took it externally to my personal github account Continued development and during the time I was able to fix the entire test suite
Clean all the deprecation warnings remove tons of stuff that we don't need we have removed just for reference about 20,000 lines of code and The system continues to work pretty much with the same functionality in the same way that it used to do before
So you have you have a function that works with your data and then you have another function that is called from the front From the front end via Ajax and it does the same thing. It just copies the code It doesn't use the other function and then you have the same action somewhere else in the system It just copies the same thing and over and over again, so we fix all these things
We started building Docker images and started pushing them Publicly for everybody on Docker Hub and surprise surprise people actually started to download them and to use them They started reporting books and started contributing and so on And I was starting to realize that all of this to handle is too much for a single person
So I asked my friend Yanis from Mozilla Yanis Tell me what what should I do if I want this to continue and he tells me well if you want this project to have any like a Chance of surviving and becoming a little bit more popular. It needs to be independent from yourself You have to create a separate GitHub organization
It needs to have a website so people can follow the progress if they're interested and so on and so forth And most importantly you need to have a team that will help you with all of these things So I decided to follow the advice of my friend And started building the website and the option was build it myself or ask somebody else to do it for me
And I chose the second option So I found three young developers, and I told them listen. I want this simple website to be built I will tell you how to do it. I will teach you all the technical skills that you need to have But you need to commit on GitHub you need to help me and if you like it you can continue further to work on the project and
They built the website they learned a lot of stuff From the three of them only one was left on the team. This is Ivo this guy here He is very young and the reason he's not here today is because he cannot travel abroad. He's too young So after that he decided to like stay around in the project learn Python learn jungle
Started fixing a lot of piling errors and until now he's fixed more than 3,000 piling errors that we had in the source code alone Which is quite impressive for somebody who didn't know anything less than one year ago Then we had Anton who joined a little bit later, and he's a little bit more experienced developer
But again he learned Python he learned jungle started working on the back-end stuff with me now He's working on a lot of the front-end stuff Changing how all the pages look and feel in the system. We're migrating to another
library for the user interface, which is like more modern Nicer to use and this is mostly done by himself alone So I just give some directions And I I do the initial like proof of concept for some page and then leave everything to them to do And during all this time
I've been trying to make the project more popular. I've been trying to Recruit other people to help us Be part of a core team and we hit a snack with a lot of them So we've got people who wanted to join the team and then Didn't feel motivated enough to stay around and to contribute we had people who?
Who didn't want to learn all the skills that they were missing although we provide all the information for them So we had to kick them out unfortunately And Right around this time. I started to realize that is it is too much for me to to handle both the people side and the technical side and that is why we have any who is our team coach and
These two guys they are over here so applause for them. Thank you very much for helping me So we've got a team and we need a community and the way to build the community is to let it form itself So we we enable the community to form around the project
People ask for translations. We find a suitable translation system for them document how to use this they start contributing and we've got French Slovenian and German translations 100% contributed by the community we don't speak these languages Next we document how to set up your development environment how to deploy the docker images how to
Turns out a lot of people are not familiar with jungle insert for them once you document all of these steps and make it easy For them they start contributing And last but not least you have to like travel and you try to spread the world the words and tell people about your
project and We've we've done quite a lot of traveling last year to be honest way too much Traveling and the nice thing is we meet other people who work in the same domain space, so we are not alone Two of these guys are Daniel from Germany and Dimitri from Belarus and
They both work on related open source projects So they work on system test portal and report portal and the three of us together today and tomorrow Are hosting the open source test management stand here at FOSTA So come and say hi learn something that may you maybe you don't know about testing how it's done
How you can collect all the results in these various systems what they can do and so on and Last year has been very successful for us We have we started with pretty much zero external contributors and by the end of the year. We have had contributions from
some relatively big companies and organizations a small contributor contributions from big names We have also had bigger contributions towards the end of the year from somewhere from Brazil. I don't really know where that is Some state which I haven't heard before there were the good contribution From a person he didn't ask any questions just send the pull request. It was perfect. We could merge it immediately
And we have decided okay the community starts to form around the project So let's set up like a bigger goal for the project. We want to be the best in this field and we want To To reorganize to change how testing is done in an organization
We have posted a lot of requests for comments on github a lot of ideas some screenshots What can be done? What is possible technically what is possible on the organization level? There are a lot of people who gave us feedback If you do software testing quality assurance Feel free to give us feedback to tell us that we are not doing something Right or that we are idiots or maybe that you like it. Hopefully
And the last thing is we celebrate 10 years if you can figure out what this thing means Do the actions and come by at the open source test management stand. We have a present for you. Thank you very much
I think we have only one minute for questions Two minutes. Okay, cool. Yeah, it's a puzzle. Yeah, if you can solve it
Yeah, but if they tell everybody Well, there's a mother Puzzle, okay. No, you have to you have to think about it. So thank you very much for listening to me