Articles with tag community

We are happy to announce that Kiwi TCMS is going to partner with Vola Software to provide 2 interns with opportunities for hacking open source and bootstrapping their careers!

Vola Software is a custom software development company in one of the poorest regions of the European Union and a long-time contributor to their local ecosystem via Vratsa Software Community. They are located in Vratsa, Bulgaria.

Internship program

Alexander Tsvetanov and Vladislav Ankov are joining the Kiwi TCMS team for a 10 month adventure until the end of July 2021 with the opportunity to continue for another year afterwards!

Both Sasho and Vladi are students in the Professional Technical Gymnasium in Vratsa and are required to work part-time as junior software developers during the last 2 years of their education. Given that they have very limited practical experience and the additional red tape around hiring youngsters many software companies directly avoid such kind of relationship. This creates a catch-22 circle for both employers who are looking to hire somewhat experienced young people and youngsters who are looking to advance their practical skills.

Here's where Kiwi TCMS steps-in! What better way to improve practical knowledge than contributing to an actively used and actively maintained open source software! We are nearing the 200K downloads mark on Docker Hub so changes made by Sasho and Vladi will be visible to a very big pool of our users and customers!

Both have already started their open source adventure last week and are currently going through some training. However they were faced with real problems which resulted in bug discovery and a pull request for python-bugzilla underlined by a 20 years old issue in Python. How's that for a start ?

Administrative

Vola Software is the direct employer for Sasho and Vladi because they have the necessary permits and experience required for hiring youngsters. Kiwi TCMS is the direct technical mentor and will be acting as a customer to Vola Software!

Vola Software will be paying a minimal salary to our interns as required by law. Kiwi TCMS will reimburse the full amount while Vola Software will be covering their accounting and administrative expenses. Both Sasho and Vladi will also be eligible for our open source bounty-program as an extra stimulation!

All expenses will be fully transparent and visible via our Open Collective page!

Help us do more

If you like what we're doing and how Kiwi TCMS supports various communities please help us!


Thanks for reading and happy testing!

We are happy to announce that Kiwi TCMS is going to partner with the MLH Fellowship open source program which is a 12 week internship alternative for students interested in becoming software engineers.

Major League Hacking (MLH) is a mission-driven B-Corp focused on empowering our next generation of technologists. Every year, more than 100,000 developers, designers, and makers join the MLH community to gain hands-on experience and build their professional networks. They are headquartered in the Greater New York Area, USA but operate world-wide.

Fellowship program

The Fall 2020 cohort runs between October 5 - December 21 and we're already into the Contributing phase of the program. Fellow students will be working on open issues from our backlog with a focus on tasks from our open source bounty program but they can really work on any open task!

Once a pull request has been made it will undergo first round code review by Cory Massaro who is the dedicated MLH Python mentor. Once Cory gives the +1 each pull request will be reviewed by a member of the Kiwi TCMS core team like usual.

To minimize the risk of conflicts between contributors we are going to apply the following rules:

  • Each MLH fellow would add a comment on the issue they are interested in (applies to other contributors too);
  • The issue will be assigned to them (new);
  • The issue will be labeled with the MLH Fellowship label (new);
  • The following comment will be added: This issue/bounty has been assigned to an MLH fellow who is currently working on it. Pull requests towards the same issue from other contributors will not be considered at this time. Please pick something else to work on!

Upon successful completion of tasks all MLH fellows will be eligible to claim their bounties via our Open Collective page. This is the same process other contributors go through, there is no difference.

Kiwi TCMS commits 2 core-team members who will serve office hours on the MLH Fellowship Discord server for couple of hours per week in order to answer questions and keep the ball rolling. We also commit to having bi-weekly meetings with MLH mentor(s) during the duration of the program.

Kiwi TCMS would also like to thank our friend Eddie Jaoude for putting us in touch with MLH and helping bring this partnership to reality. Thank you Eddie!

Help us do more

If you like what we're doing and how Kiwi TCMS supports various communities please help us!


Thanks for reading and happy testing!

Hello testers, as you know our friends at Pionir are working on physical hardware which can be used for interactive training and explanation of the Black-box testing technique. The inspiration comes from James Lyndsay’s Black Box Puzzles and Claudiu Draghia.

We have the source code of 3 boxes already published at https://github.com/kiwitcms/black-boxes but still missing bill of materials, design files for 3D printing and some basic instructions how to put everything together. There was a delay in delivery of some components but most of the work is close to completion. You may subscribe to issues for each box to follow the progress! Here are some images & videos from the development process.

Wason 2-4-6 box

Wason 246 box

Peltzman effect box

Peltzman effect box

Salience bias box

Salience bias box

According to Pionir's own words: We are testing the salience box and trying to cause emotional effect of an element. Vuk made a mistake and now he can't turn it off :D. How's that for dogfooding?

Help us do more

If you like what we're doing and how Kiwi TCMS supports the various communities around us please nominate us as GitHub Stars!


Thanks for reading and happy testing!

GitHub Star nomination

After our recent success we again ask the community to support Kiwi TCMS.

Steps to reproduce:

  1. Go to https://stars.github.com/
  2. Click the Sign in button and Authorize the GitHub-Stars application
  3. Make sure you are on the Nominate page, https://stars.github.com/nominate/
  4. Type kiwitcms as the username. The @ character is provided automatically
  5. Type the following text for your reasoning: they took an abandoned project and turned it into the leading open source test management system with more than 150k downloads with users & contributors across the world!
  6. Click on the checkbox to acknowledge your nomination
  7. Click the Submit nomination button!

Expected results:

  1. You fit into the 180 characters provided for nomination
  2. Your submission is recorded by GitHub

Why are we doing this

GitHub Stars is a program that recognizes those who go above and beyond and help inspire and educate their communities which is exactly what the Kiwi TCMS team has been doing from our very start! Checkout our community blog posts for more information!

This program will give us access to cool new features on the GitHub platform and also let us showcase what we do before a larger audience!

Thank you for helping us and happy testing!

Click here to vote for Kiwi TCMS

Kiwi TCMS is happy to announce that our website https://kiwitcms.eu is a finalist in the 2020 .eu Web Awards in the Leaders category! Big Thank You to everyone who voted for us!

Our team is also very happy that we are not the only open source finalist. Congratulations to the OpenScan project and their community!

We are still committed to keeping our earlier promise and use the award to represent the larger open source community! The decision is now in the hands of the jury. Wish us good luck!

QGIS has chosen Kiwi TCMS

We are happy to announce that QGIS has chosen Kiwi TCMS for the basis of their Quality Assurance methodology and infrastructure improvement program! Kiwi TCMS will play a central role in storing test case definitions, organizing test cycles, and assigning and tracking test executions by testers from the QGIS community.

QGIS is a free and open source geographic information system which contains desktop, server, web and mobile applications for various operating systems. It is an established project with very large and diverse community and also one of the very well known open source GIS systems.

The proposal QEP#180 is the highest voted proposal in the 2020 QGIS Grant Program and has been awarded a budget of 5000€! This grant will allow the proponents to spend significantly more time setting up the infrastructure and planning a methodology for manual testing.

Scope of proposal

QEP#180 aims to create the necessary infrastructure and methodology to organize and encourage systematic testing before each QGIS release:

  • Setup a test management system to organize test cycles, assign and track tests execution;
  • Elaborate and document a methodology to execute testing to help testers;
  • Resurrect and move the tester plugin to QGIS repositories. Publish it in the QGIS official repository
  • Create an initial set of relevant test cases;
  • Organize and execute the initial test cases for the next releases.

This effort will steer members & volunteers of the QGIS community towards a more systematic and organized testing during a feature freeze period before a release. The focus here is on integration testing, manual & semi-automated workflows for important functionality that should never regress and is hard or impossible to cover via unit tests.

The proposal is lead by Alexandre Neto, Giovanni Manghi and Alexander Bruy!


On behalf of the Kiwi TCMS community welcome aboard and happy testing!

We are happy to announce that versioned releases of Kiwi TCMS container images are now available to customers with an active enterprise subscription.

For a long time our release policy has been to push only latest version of our upstream kiwitcms/kiwi containers. This upstream channel doesn't carry version tags and receives versioned releases only when there are backwards incompatible database migrations! This proved challenging to administrators who don't upgrade immediately to the latest version as soon as it comes out.

For example this happens in environments where admins use the upstream images as proof of concept and later switch to a production grade installation. Quite often they migrate to the Kiwi TCMS Enterprise containers during the same time.

Starting today versioned releases of Kiwi TCMS (single tenant) will be available via the mrsenko/kiwitcms private repository on Docker Hub. This repository includes tagged versions of the same docker images coming from the kiwitcms/kiwi channel! Access is granted automatically to all existing enterprise subscribers!

We are happy to announce that Kiwi TCMS is going to partner with Pionir on the development of open source hardware for testers! Pionir is a free school focused on creating a new generation of digital leaders, an exponential culture and solving challenges using technology. They are located in Kikinda, Serbia.

Pionir students

This is not our first collaboration - the students are already aware of the Kiwi TCMS project and last year they participated in presentation & workshop hosted by Alex. Zamphyr, the organization behind Pionir, is also one of the first open source projects on our OSS program!

Black boxes for black-box testing

Black-box testing is a method of software testing that examines the functionality of the subject under test without peering into its internal structures or workings. It is often performed by manipulating the possible inputs and examining the resulting output. Experienced black-box testers often develop a hunch for where bugs my be and it is not uncommon for them to discover some obscure problems nobody else thought about. More often than not the basis for this is developing an understanding/expectation how the SUT works by careful exploration during many iterations. Thus being able to explore a SUT, observe its behavior, keep mental notes about possible relations between input-behavior-output and analyzing what is happening under the hood becomes an important skill for testers.

The idea for having something unknown to explore & train your skills first comes from James Lyndsay’s Black Box Puzzles and was more recently implemented by Claudiu Draghia. Now it's our turn!

Project description

Pionir will be developing hardware black boxes for teaching exploratory testing in cooperation with Kiwi TCMS. We have dedicated €2000 from our bounty program for students of the free school towards completing this project.

The goal of the project is to produce at least 3 boxes and reference designs that will serve as a didactic tool for teaching, but also be free and open hardware, and as such, available to everyone to build from source.

This project will be trusted to the students of the free school who will get opportunity to take part in the challenging process of building a digital appliance, from designing the machine logic, to develop and prototype hardware.

The project includes designing, assembling, programming, documenting and delivering this hardware to us! Everything is expected to be open source: list of components, assembly instructions, 3D design files, source code, documentation and instructions! Our goal is that this will be relatively cheap and easy to build so everyone else can build their own boxes. During the next several months there will be new repositories created under https://github.com/kiwitcms to host the various boxes.

The black boxes are expected to be available in October 2020 - just in time for the upcoming conference season where members of the larger testing and open source communities will be able to practice with them!

Call for sponsors

We are also calling upon teams and organizations who use Kiwi TCMS in their testing workflows. Please consider making a one-time donation or becoming a regular sponsor via our Collective. You can contribute as low as € 1! The entire budget will be distributed to the community!

Vote for Kiwi TCMS

Our website has been nominated in the 2020 .eu Web Awards and we've promised to do everything in our power to greet future FOSDEM visitors with an open source billboard advertising at BRU airport. We need your help to do that!

Happy testing!

Kiwi TCMS is donating € 10000 (ten thousand euro) to our community to enable more hands working together and give an opportunity for people to get exposed to open source contributions. You can read more about the rules of the program in Round 01!

Bounties announced in Round 02

Custom pylint plugins:

#736, #738, #1126, #1303, #1384

Automation tests:

#1596, #1597, #1598, #1599, #1600, #1601, #1602, #1603, #1604, #1605, #1606, #1607, #1608, #1609, #1610, #1611, #1612, #1613, #1614, #1615, #1616, #1617, #1618, #1619, #1620, #1621, #1622, #1623, #1624, #1625, #1626, #1627, #1628, #1629, #1630, #1631

Call for sponsors

We are also calling upon teams and organizations who use Kiwi TCMS in their testing workflows. Please consider making a one-time donation or becoming a regular sponsor via our Collective. You can contribute as low as € 1! The entire budget will be distributed to the community!

Vote for Kiwi TCMS

Our website has been nominated in the 2020 .eu Web Awards and we've promised to do everything in our power to greet future FOSDEM visitors with an open source billboard advertising at BRU airport. We need your help to do that!

Happy testing!

bounty program banner

Kiwi TCMS is donating € 10000 (ten thousand euro) to our community to enable more hands working together and give an opportunity for people to get exposed to open source contributions. You will help us complete pending tasks faster while learning something new and receive a bonus for your efforts! This blog post outlines the rules of our open source bounty program.

Who is eligible to participate

Everyone who meets the following criteria is eligible to participate:

  • Has an account on https://opencollective.com - needed to follow program updates and request payments
  • Has a bank account - needed for actual money transfer, more info below!

If you are beginner in Python, Django or some other technology that we use please consider available documentation, your local user group, developers forum and StackOverflow to get help. Do not turn GitHub issues into a "getting started in programming" discussion.

Engagement rules

FIFO order for code review

  • Contributions will be reviewed and merged in a rolling first-in-first-out order, that is we review 1 PR and while waiting for updates continue on the next in the queue
  • In case of collisions, multiple contributions that try to resolve the same problem, our team will review the first one, then the second one, etc. The pull request which is first to pass DoD and code review will be merged and the conflicting ones closed
  • Please comment on issues and work together with other community members to split the work and avoid collisions as much as possible

About issues

Our team will try to clearly describe each task and what constitutes a successfully completed task, e.g. definition of done (DoD). If this isn't the case please ask questions and seek clarification about such tasks.

  • Only Issues under the bounty-program milestone AND labelled with a specific monetary amount are eligible for payout!
  • Unlabelled issues need further refinement before they can be accepted for bounties!

Payout rules

Once DoD has been met and the contribution is merged you may claim the assigned bounty. You must perform the following steps:

  • Submit an expense to the Kiwi TCMS Collective
  • All expenses submitted to the Kiwi TCMS Collective must follow the invoicing rules of our Fiscal Host. Here is an invoice template (Google Doc) you can use. Fill-in the blue parts and leave the black parts
  • Invoice & expense description contains the number of issue(s) and PR(s) for which bounty is claimed

Identity cross validation:

Once an expense has been submitted add a comment with your GitHub/Crowdin username to it + open a new issue in GitHub /new discussion in Crowdin with link to the expense submission. This will help us cross-validate that we are talking to the same person between platforms.

Note on bank transfers

A message from our Fiscal Host:

We currently prefer to do payouts using bank transfers. We used to support PayPal but fees were way too high for the collectives.

About bank transfer, we do EU transfers as well as non EU (which takes more time obviously).

We noticed that several collectives are now using Revolut bank accounts which is the easiest and cheapest way (it’s free) to receive money anywhere in the world.

It looks like the fastest & cheapest way to get paid is via Revolut account if you have one, followed by standard bank transfer and PayPal account is last!

Bounties: translation related tasks

Bounties: test automation plugins

  • Django test runner reporting plugin - #693
  • py.test reporting plugin - #1511
  • JUnit plugin: annotation & improvement for test case mapping - #1512
  • TestNG plugin - #692

Bounties: assorted technical issues

Call for sponsors

We are also calling upon teams and organizations who use Kiwi TCMS in their testing workflows. Please consider making a one-time donation or becoming a regular sponsor via our Collective. You can contribute as low as € 1! The entire budget will be distributed to the community!

Vote for Kiwi TCMS

Our website has been nominated in the 2020 .eu Web Awards and we've promised to do everything in our power to greet future FOSDEM visitors with an open source billboard advertising at BRU airport. We need your help to do that!

Happy bounty hunting!

Click here to vote for Kiwi TCMS

Scenario: Display open source advertising in Brussels airport
    Given one of the prizes is a 2 month billboard advertising campaign
    And the awards ceremony is on Nov 18th 2020
    When Kiwi TCMS wins
    Then there is good chance this campaign coincides with FOSDEM

Out team promises to do everything in our power so that visitors to FOSDEM 2021 start feeling the community vibe directly at the airport!

Please vote and share.

Thank you!

Kiwi TCMS is the proud winner of a $10,000 award from Mozilla, Indeed, Open Collective, Ford Foundation & Simply Secure. Read below for the full story!

At the end of January Zahari alerted our team about the Open Source Speed Dating FOSDEM 2020 event and Alex was very swift in filing the application form. Just as we landed in Brussels, ready to host Testing and Automation devroom and the Open Source Test Management stand, we got the news - Kiwi TCMS has been selected as a participant.

What followed was a very hasty day of preparing a 5 min pitch and rehearsing it as much as possible so we can be ready to present our project. Alex prepared the pitch and made final review and polishing together with Anton. For the record everything was written down on paper, including important facts about the project and schedule - when and where is our slot, how is Alex going to get there, when does he need to leave to be on time, etc. We believe that preparation was key here and that's why our team always tries to be prepared when we participate at events! It was as good as it can get, no more changes!

On Feb 1st all hell broke loose - it was day #1 of FOSDEM, the Testing an Automation devroom was full with amazing speakers and packed with people, watch videos here, there was barely time to eat or drink water and at 5PM Alex had to rush across town to pitch Kiwi TCMS!

Then everything went like clockwork - weather was warm for the season, Alex decided to walk from ULB to La Tricoterie, both so he doesn't get stuck in traffic but also to regulate stress level and be clear minded for what comes next. He arrived just on time to meet with new folks and have a glass of wine before taking his turn with the judges.

Open Source Speed Dating is a format where projects pitch to a team of 3 judges who then follow up with various questions. Their goal is to assess how suitable your project is for the money they are giving away but also how would actually receiving an award help the project. You do get guidance how to prepare and what sort of information the judges are looking for. However you have no idea who the other participants are and who are you competing against! All you have is a 15 minutes slot where you have to give the best of you and hope it is enough.

Afterwards we reunited together, did even more walking, played the SPACESHIP at Let Me Out escape room and finished with a mandatory team dinner in the hearth of Brussels.

Following an internal selection process and due diligence we finally received the award. $10,000 for open source!

As a side note we also got to know who the other winners are, which can be seen from Open Source Speed Dating records: F-Droid, ossia, MNT Research GmbH and Kiwi TCMS!

We’re giving all of it to our community

All money from the Kiwi TCMS Collective will be going towards funding development tasks. Like Alex told the judges - this will help us enable more hands working on Kiwi TCMS and complete pending work faster. Stay tuned for our bounty program announcement!

Happy testing!

Hello testers, you can catch-up with your favorite open source test case management system during the month of March. Here's a list of events we are going to:

  • March 14 - QA: Challenge Accepted, Sofia where we will have an info booth. You will get a 15% community discount if you email tickets@qachallengeaccepted.com and mention this blog post
  • March 19-21 - OpenTechSummit, Singapore - aka FOSS ASIA summit:
    • Kiwi TCMS exhibition booth - 3 days
    • How to write pylint plugins for fun & profit workshop on March 19th
    • Testing [for] security [in] open source presentation on March 21st

To claim a free Community Standard Ticket use code atodorov. First 5 tickets only! For a 25% discount use code fossasia-speaker. For a 25% discount use code exhibitor-friends - applies only to Community Standard Ticket.

  • March 27-28 - TestingStage, Kiev where Alex will present his Static analysis as a test tool session. You can also claim 15% ticket discount by using promo-code AlexanderTodorov
  • April 1-2 - TestCon Moscow where Alex will present the Static analysis as a test tool again

Original plan was to visit OpenTest Con, Beijing between March 30-31 which has now been cancelled! The new plan is to stay 2-3 more days in Kiev and join some meetups if available.

Feel free to ping us at @KiwiTCMS or look for the kiwi bird logo and come to say hi. Happy testing!

Project roadmap 2020

Hello testers, the Kiwi TCMS team sat down together last week and talked about what we feel is important for us during the upcoming year. This blog post outlines our roadmap for 2020!

roadmap image 2020

Project sustainability

The big goal towards which we are striving is to turn Kiwi TCMS into a sustainable open source project. For now this means several key areas:

1) Team
2) Technical
3) Community

Team

Right now we have a core team with 6 newcomers on-boarding. Engineering performance is all over the place with some people contributing too much while others contributing too little. More importantly there is no consistent pace of contributions which makes planning timely completion of technical tasks impossible.

At the moment we do operate as a bunch of disconnected people who happen to talk to each other from time to time.

We are going to adjust our internal processes and how we on-board new members. In fact we did our first "scrum-like" meeting this week and agreed to change our existing practice and strive to become better as a team!

Goal: to have a cohesive team at the end of the year which operates with a predictable capacity.

Goal: 1 PR/week/person as broad measure of individual performance.

Technical

The areas shown on the picture above will receive more priority.

Goal: complete remaining Telemetry features.

Goal: complete bug-tracker integration milestone.

Goal: all pylint issues resolved.

Goal: migrate all remaining legacy templates to Patternfly UI. See patternfly-migration milestone.

Goal: where FE sends AJAX requests to BE views replace with JSON RPC API instead.

Extra: start tackling the JavaScript mess that we have. This depends and is related to Patternfly migration and overall refactoring.

Extra: make it easier for downstream installations to extend and override parts of Kiwi TCMS in order for users to adjust the system to their own needs. The system is pretty flexible as-is but there have been requests, both online and offline, to provide some extra features! We'll start looking into them, likely making partial progress in the next 12 months.

Community

Last year Kiwi TCMS had massive success at every single conference that we've been to. Both project and team have been well received. While we are going to continue being part of various communities around the world we are trying to limit extensive travel and focus on functionality and partnerships which will increase Kiwi TCMS eco-system, make the project even more popular and drive further adoption!

Goal: extended GitHub integration via kiwitcms-github-app plugin.

Goal: release the following test automation framework plugins for Kiwi TCMS:

For more information see test-automation-plugins milestone.

Ongoing: work with our partners from the proprietary and open source worlds. This is hard to quantify and lots of it doesn't actually depend on the team. However we are continuing to talk to them regularly. Expect new feedback to become available under GitHub Issues.

Extra: see what we can do about testing productivity! This has always been part of our mission but we have not been able to produce anything worth sharing. We do have ideas in this space but we are generally looking for partnerships and collaborations. It is very likely that there will not be very much progress on this front because it is hard to define it properly :-(.

Summary

At the end of the day most of these goals compliment each other and help drive all of them to completion. Many of the still on-boarding people have expressed desire to improve their Python & Django skills. Working to resolve issues in the above specific areas will give them this opportunity! I expect they will show good progress on their respective tasks so we can write more about them on this blog.

Happy testing!

Roadmap status report for 2019

Hello everyone, in this article I will outline the progress that the Kiwi TCMS team has made towards achieving the goals on our 2019 roadmap. TL,DR: last year we've made lots of big and visible changes in Kiwi TCMS. This year less so. Progress has been slower than before and not so much visible. Community and team is growing. More contributors are welcome.

Complete the internal refactoring

Status: small progress, needs help

CodeClimate progress is:

  • -60 code smells
  • -55 duplications
  • -50 other issues
  • 4.4% technical debt improvement
  • -240 hrs remaining until issues are fixed

The trend is showing less issues remaining but it has been a slow progress. As we fix the easier items the remaining ones become harder to deal with.

We've done minor work related to fixing issues reported by pylint. Around 150 of them still remain!

We have not done any targeted work to resolve other issues reported by Scrutinizer, remove vendored-in JavaScript libraries, JavaScript refactoring or classification of issues in 3rd party dependencies.

Redesign the UI templates with the help of Patternfly

Status: 60% done, needs help

There are 22 HTML templates remaining to be redesigned (from 59). That's mostly due to internal cleanup and some refactoring! Test plan and Test run pages are the two major templates that still need to be redesigned with Patternfly.

Modernize reporting aka Telemetry

Status: 60% done, in progress, behind schedule

The specs for the new Telemetry system have been defined after taking into account feedback on GitHub issues. Anton Sankov is the leading developer for this feature. So far we have 4 telemetry reports merged: testing break-down, status matrix, execution trends and flaky tests.

There are lots of minor issues or missing functionality in these first iterations (compared to specification). Work continues on the other telemetry use-cases and related items.

Plugins for 3rd party test automation frameworks

Status: good, needs help

UPDATE: no change in last 6 months.

If you'd like to see plugins for more test automation frameworks and/or file formats please checkout the documentation for links and more info.

Redefine bug-tracker integration

Status: 66% complete, in progress, behind schedule

We've been making slow progress on this milestone lately. For more info see https://github.com/kiwitcms/Kiwi/milestone/1

GitHub flow integration

Status: done, awaiting deployment

Our team spent some time making Kiwi TCMS the first open source TCMS available on the GitHub Marketplace. At the end of this year we were able to create a small application that allows further integration and extending the testing workflow to the GitHub platform.

This is waiting on a few more clarifications from GitHub before we deploy but for now it can be considered as done. Future functionality will be tracked and developed directly at https://github.com/kiwitcms/github-app/issues.

Agile integration with Trello

Status: no progress, will drop

This will be dropped from roadmap for the next year until we can get more interest from the community.

Improve engineering productivity

Status: no progress

Looking for external help here. This will stay as a low priority item on our roadmap for 2020 until we can free more resources on the team.

Community

Status: great, on track, needs work

This is our strongest area during this year. We have a strong presence in multiple communities, our event schedule is very busy and we are gaining more recognition every day! Core team hit several big bumps this year and is still recovering with a few more people onboarding.

Kiwi TCMS suffers from the problem that many of our users can't be contributors or simply don't want to!

In short: it is important for us to follow our mission and develop our core team so we can deliver on promises made in our roadmap! That requires a lot of time and effort which reduces short-term productivity.

Happy testing!

Kiwi TCMS is going to FOSDEM 2020

Stand at FOSDEM'19

Hello testers, Kiwi TCMS is going to FOSDEM 2020. This is where you can find us:

  • Fri Jan 31st: after 18:00 @ Delirium Café - we are taking part of the FOSDEM Beer Event where all participants are invited. Shout out with #KiwiTCMS on Twitter if you can't find us in the crowd
  • Sat Feb 1st: Testing and Automation devroom - we are proud to be co-hosting this devroom together with Linaro and SUSE. CfP is open until Dec 10th 2019. Apply here!
  • Sun Feb 2nd: Open Source Test Management stand - we will be together with our friends from SystemTestPortal and we are preparing some real black-box testing for you!

We would like to meet with all of you and talk about software testing, test management and test process organization. In case you are stuck for crazy ideas checkout our project mission for inspiration.

Picture: FOSDEM'19 with Kiwi TCMS, ReportPortal & SystemTestPortal

Happy testing!

Next month our team will be at PyCon Balkan, Oct 3-5 in Belgrade. Together with presentation and a workshop we are going to host open source sprints! These will be an informal gathering where participants will be able to learn more about how open source works and go through their first contributions. This is ideal for students and less experienced people but we welcome everyone. There will be tasks ranging from easy to very hard!

Who: 4 mentors from Kiwi TCMS and you!

What: full day of peer programming and contributing to Kiwi TCMS

Where: room will be announced on the days of the conference, follow @KiwiTCMS for more info

Why: up your tech skills, build your GitHub profile and have fun together

Translate Kiwi TCMS

Difficulty: easy

We have enabled Serbian language in our translation system. To get started checkout our translation contribution page. Once strings are translated kiwitcms-bot will automatically open a pull request with the new text.

Find unused CSS classes

Difficulty: easy

This should be relatively easy. For each class/selector defined in our CSS files search (grep) if any of the HTML templates use it. If it is not in use then remove it.

Find unused JavaScript code

Difficulty: easy

Similar to the above. We're not 100% certain but there could be legacy JavaScript functions which are no longer in use. Find them and remove them! At the very least you have confirmed that all functions are in use!

CodeClimate Minor severity issues

Difficulty: easy to moderate

Check-out the list of Minor severity issues. There are many of them:

  • CSS lint issues (we suggest you start with this one)
  • functions longer than 25 lines of code
  • functions with bigger cognitive and cyclomatic complexity
  • modules longer than 250 LOC

Try fixing a few to see how it goes and continue if you feel confident. Not everything may be an issue so if you have any questions ask someone from our team.

CodeClimate Major severity issues

Difficulty: moderate to hard

Check-out the list of Major severity issues. There are around 150 of them:

  • identical and similar code blocks
  • big modules
  • big functions

Most of these require some sort of refactoring, either splitting snippets of code into smaller pieces (functions or sub-modules) or using one function in several places instead of 2 very similar but different functions, etc. Ask our team members about which approach they prefer for fixing these issues to minimize the effort spent here.

CodeClimate Critical severity issues

Difficulty: hard

Check-out the list of Critical severity issues. All of these are functions with high cognitive complexity and the recommended way to deal with them is refactoring into class based views.

Improve pylint health

Difficulty: easy

Execute pylint against the latest sources and start fixing the issues. Looking at pylint logs the following items are relatively easy to work on:

  • Everything in module tcms.urls
  • Everything in module tcms.telemetry.api
  • Everything in module tcms.testruns.tests.test_views
  • Everything in module tcms.xmlrpc.forms
  • Everything in module tcms.testcases.tests.test_models
  • Everything in module tcms.core.forms.fields
  • Everything in module tcms.settings.common
  • Everything in module tcms.settings.test
  • All module-in-directory-without-init errors reported for module tcms.tests.__init__

Note: fixme, missing-permission-required and avoid-auto-field errors are usually harder to resolve and will require more work/refactoring. If you feel confident go ahead and fix them, if not skip to the next error message.

We also use a custom pylint checker which reports function based views. If you are looking for something harder to work on, then give it a try (see 3rd pylint line in Makefile) and refactor some of the existing view functions into class based views.

Fix 3rd party security issues discovered by Bandit

Difficulty: moderate to hard

Bandit is a static analysis tool similar to pylint. It focuses on discovering issues which may lead to security vulnerabilities. We have resolved all such issues in our own source code but we also execute Bandit against the entire Python dependency stack. There it finds thousands of issues, so much so that the reporter crashes.

In CI there are around 130 issues reported. The best course of action here is to execute Bandit locally against the offending library and then figure out what to do:

  • report an issue upstream
  • send a pull request upstream
  • if these are test files maybe exclude them from the package (e.g. don't ship them for production)

Note: inside Travis CI we have all runtime and testing dependencies which is more than what we have inside the official Docker image for Kiwi TCMS.

Work on reported issues

The following issues look suitable for a sprint and don't require lots of background knowledge. You can also find them using the PyConBalkan label on GitHub:

  • #212 - moderate - Convert jQ to $ - this is an easy search & rename but will require more extensive manual testing
  • #431 - moderate to hard - Remove JavaScript fireEvent() - 17 matches in static/js/. Must be replaced with direct function calls
  • #652 - easy - Removal of labels from form fields - all labels must be included in the HTML template and marked for translation
  • #681, #682 - moderate - Move API modules & their tests from xmlrpc/api/<app>.py to <app>/api.py. These have good test coverage so you have to make sure you don't break anything
  • #971 - moderate - manage.py command for changing Site URL - will help with automatic provisioning, e.g. Ansible. For howto see Django docs
  • #1021 - moderate - Update TestCase page UI to allow adding TestPlans to cases - use TestPlan.add_case() API method and refresh the widget. See how Tags and Components cards work in the same page
  • #1070 - moderate - manage.py command for checking email settings - will help with troubleshooting misconfigured email. Must raise exceptions if something fails. For howto see Django docs
  • #733, #736, #738, #883, #1089 - hard to very hard - New checkers for pylint - Kiwi TCMS uses customized pylint checkers to discover various conditions. We need a few more of them and/or update of the existing ones

We hope to see you in Belgrade. Until then: Happy testing!

Your favorite open source test case management system is going on tour again. During the next several months we will be at:

Feel free to ping us at @KiwiTCMS or look for the kiwi bird logo and come to say hi. Happy testing!

Happy Monday, testers! In this series we are introducing the contributors behind Kiwi TCMS. This is our community and these are their stories.

Aneta Petkova - QA Chapter Lead at SumUp

Aneta is a software engineer navigating the complex field of QA since her first "grownup" job. She's been working in the area of test automation for web applications using different programming languages and tools. Her mission is to inspire people to think about quality from the very inception of ideas and to blur the line between developers and QA specialists.

What is your professional background

I have an engineering degree in computer science and I've spend the last 8 years in Quality Assurance. Java, TestNG and UI automation with Selenium WebDriver are my strongest technical skills but I use different programming languages and tools.

I believe languages and tools should only support an engineer and never define them.

Currently I am the QA Chapter Lead at SumUp, where I can work towards achieving my goals in an amazing team of people that do what they love.

When did you use open source for the first time

The first time I remember was in 2011, but I've probably used it before and just didn't pay attention. To me it seemed the same as proprietary, and I guess that means it was good.

Describe your contributions to the project

I created kiwitcms-junit-plugin. This is a native Java library which you can install via Maven Central. It will discover your automated test suite and publish test execution results in Kiwi TCMS. This plugin is very simple and requires only minimal configuration before it is ready to work. Check-out the example in TP-25!

editor comment: Aneta and Ivo (Kiwi TCMS) hosted the "Git crash course" workshop at HackConf 2018. Kiwi TCMS will be hosting 2 workshops this year so stay tuned!

Why did you decide to contribute to Kiwi TCMS

I had recently switched Java for Ruby and I was feeling nostalgic. Also, I had spent my entire career so far in QA and I wanted to slip on the developer shoes for at least a little bit.

Was there something which was hard for you during the contribution process

I'm used to working in a team and when I started working on this project I was the only active Java developer. Luckily for me, I live in the time of StackOverflow, so I managed to get most of my questions answered by strangers on the Internet.

I learned tons of stuff, but mostly I learned I can build software, not just test it!

Which is the best part of contributing to Kiwi TCMS

Doing something that has the potential to help others and that could be improved upon.

What is next for you in professional and open source plan

My current focus is moving slightly into DevOps direction and I am really overwhelmed by the amount of things to learn. I feel there is so much I want to experiment with. I am not really planning anything related to open source - it has never been a goal for me - but when I come across a project I feel strongly about, I'd probably be tempted to contribute.

Thank you, Aneta! Happy testing!

In this new series we are going to introduce the contributors behind Kiwi TCMS. This is our community and these are their stories.

Primož Klemen - QA tester, full time dad, Manchester United F.C. supporter

Primož is an early adopter and our Slovenian translator. He's been actively engaging in GitHub issues, posted pull requests for improving documentation and follows us on StackOverflow as well.

What is your professional background

I've started working in IT as tech support for the 2nd largest Slovenian ISP at the time. Then I've been at leading software provider for fintech in the Balkans region in the same role and gradually transitioned into QA role. Currently, I'm working as a QA tester for Better (by Marand) and ensure, with help of my colleagues of course, proper quality of administration application for health care sector.

When did you use open source for the first time

If I recall correctly that would be some 14 years ago when I ditched dreaded Internet Explorer in favor of Mozilla Firefox browser. The whole Internet got better in a matter of seconds.

What are your contributions to Kiwi TCMS

I mainly contribute via translating the application into my native language, Slovenian. Currently there are 7 languages available for Kiwi TCMS so you are more than welcome to join and add another one. Translating via Crowdin is very simple and requires no additional technical skills. I've also dabbled into project documentation and proposed a few updates to it. I'm also the culprit for some 32 issues and counting, the majority of them being proposals for future application enhancements and few UX/UI bugs (déformation professionnelle :-)).

Why did you decide to contribute to Kiwi TCMS

The guys and gals from the Kiwi TCMS team provided us with an application which solved our pain about building, maintaining and running manual regression tests.

They did all of that for free in their spare time! So I've decided to give something back to the whole community. This was indeed my first contribution to the open source world but not the last. Since then I've also contributed to other projects which I use on a regular basis.

In hindsight, Kiwi TCMS converted me from an open source user to open source contributor!

Was there something which was hard for you during the contribution process

Contributing to the project, as a non-developer, is very easy and intuitive by either opening issues on GitHub or translating via Crowdin or even committing updated documentation to git repository through GitHub Desktop client. All of the aforementioned was new to me and I've learned in depth how to use these tools. I've also had the pleasure to familiarize myself with project documentation - Sphinx and reStructuredText are my two new best friends.

Which is the best part of contributing to Kiwi TCMS

Being able to actively improve an application that we use on a daily basis in our development process. Getting to know more people from all around the globe and see their insights about software quality assurance thus learning something new every day.

What is next for you in professional and open source plan

Professionally I'm 100% committed to Better (by Marand) and helping us achieve the best standard of quality for health care applications which also incorporates using the knowledge gathered by following and/or contributing to open source. I'm going to continue contributing to Kiwi TCMS and Captura and if time allows maybe involve myself with some other interesting projects.

Thank you, Primož! Happy testing!

Newer Posts

Page 2 / 3

Older Posts