My OpenMRS Fellowship Journey: Daud

This is one of my priorities since my journey began and ensuring each day I learn something new in software development.

Thanks @janflowers for pointing me to this amazing project @mozzy and @pmanko are working on. I hadn’t looked into it before but now have kicked off exploring the project and will contribute to its success.

2 Likes
                             FIRST PHASE OF NOVEMBER

              Platform 2.4.0 REST-WS Endpoint Tests Finally Completed! 

Platform 2.4.0 REST-WS end point tests that were identified by the Platform team have been automated and now running on every PR that is triggered on GitHub - openmrs/openmrs-module-webservices.rest: Provides RESTful web services for OpenMRS and also running with ci on the module via Bamboo. This is a great milestone for OpenMRS community since these tests do the work of automating the Platform 2.x RESTWS end points, support Platform 2.x releases and also will reduce the maintenance burden for the module. The automated tests status for the current Bamboo build plan for REST API is tracked via QA-Dashbaord

In a special way, I acknowledge the tremendous efforts by @jonathan who has done tirelessly towards the success of the work and currently finishing the last test logged at RESTWS-861. @dkayiwa @ibacher have been instrumental in guiding the contributors through their reviews. I can not forget Daniel’s review comment he made on one of my PR where he said “That open mindedness will take you to the moon” which motivated me to push forward the test coverage of RESTWS end points and now we have them covered.

   Test coverage for RefApp 2.x increased!

In the past weeks, we have had huge contributions from our contributors and more workflow tests based on BDD framework have been added in qaframework module. I and @sharif are providing technical support to the QA contributors through making reviews and providing guidance to squad members hence increasing the test coverage for OpenMRS Reference Application. These tests are supporting maintenance of RefApp and will support upcoming releases for Reference Application 2.x. Each workflow test status is tracked via the QA Dashboard for the current build plan and cucumber feature files are so helpful in tracking the test that might fail at any time based on the current Bamboo build plan through providing a report at cucumber.io which shows the specific step within the files that is failing and makes trouble shouting easier for developers.

Comparing with the experience of resurrecting selenium tests, I notice tests developed in BDD framework are more sustainable & maintainable than the old selenium legacy tests because BDD tests are well documented through feature files which uses a simple human readable language known as Gherkin which can easily be understood by non-technical people(business people, product managers and system users) and also makes troubleshooting breaking test more easier to the dev. All said, we may need to look into transforming selenium legacy tests into BDD framework to have all our automated tests maintainable and sustainable. cc: @christine @grace @sharif @ibacher

Have also worked with @christine on Getting Started Guide with QA and has been a nice experience learning skills in documenting for technical and non-technical contributors. The skills am acquiring through this work is helping me to do a better documentation on our QA-Documentations to have them provide proper guidance to our contributors. Thanks @jennifer who encouraged me to join the documentation team and @kaylinbracey who is taking us through practical documentation sessions on monthly basis! Looking at how I have transformed my documentation skills through this experience, I think one day I may become a technical writer :writing_hand: along side </software development>.

               Work To Do

Am currently integrating a tool in qaframework module that will make it easier to test proposed changes, as opposed to the current pull before the changes are merged into master. This will make it easier to get feedback on proposed changes, from the product owners and other stakeholders. As well cut down the length of the feedback loop in regards to proposed improvements to the QA Framework module. The tool will be integrated in other OpenMRS modules to improve development processes and better our products!

A word of thanks to @dkayiwa @christine @jennifer @grace @janflowers @ibacher @sharif @jayasanka and our QA Team improving the QA Framework module to better OpenMRS processes and to release products with better end user experience.

8 Likes

In a special way, I acknowledge the tremendous efforts by @jonathan who has done tirelessly towards the success of the work and currently finishing the last test logged at RESTWS-861

Thankks @jonathan :fireworks: for finishing up the last automated test for REST API end point merged at

would you like to look into RESTWS-871?

1 Like

@kdaud

testing done

Thanks to @dkayiwa@ibacher for reviewing …and merging

1 Like
                          LAST PHASE OF NOVEMBER

The last phase of November has been a learning period while supporting one of our implementers in setting up qaframework for their organisation so as to tap on the benefits of automated tests for their products.

Through conducting learning sessions , I and @sharif have done the technical support to help the dev team(for the organisation) get started with the framework and a POC has been set up for testing their products.

Another registered milestone was supporting the release of REST WS 2.33.0 through writing automated tests for REST-WS endpoint tests. cc: @mksd

Thanks to @jonathan who supported the campaign of writing automated tests and am grateful to @dkayiwa &@ibacher for their technical guidance during the process of writing automated tests.

The period also came with Annual Virtual OpenMRS Implementers’ Conference that took place between 29th Nov to 2rd Dec. This was a great opportunity for me to learn how other squads in the community make their work done, meeting implementers of our product and how they use the products plus knowing the problem they are meeting which are worth addressing.

It gave me an opportunity to know the far we have come from and where we are heading as a community. I embraced one of the shared proverbs;

download

working together as a squad/team and as a community is a key to going far and achieving great goals in saving lives around the global.

As December arrived, the first half of the month am focusing on ensuring our POC is stable, sustainable and maintainable.

Thanks to @dkayiwa @sharif @christine @jennifer @janflowers @grace @ibacher for your endless support in my fellowship journey which has given me an opportunity grow both technical & non-technical skills and continuing to grow every single day →

6 Likes
                        FIRST PHASE OF DECEMBER

Task accomplished:

  1. Identifying and fixing the flaws within automated tests that would sometimes fail on ci to ensure these tests do serve the intended purpose.
  2. Migrated selenium legacy tests into qaframework where they will be transformed into BDD tests as one the nest stream of work
  3. Went through the feedback that we obtained from the annual conference concerning our QA to identify areas of focus and improvement in 2022 plan.
  4. Supported one of our implementer(palladium) in setting up their qaframework for automating their products.
  5. Done some servery with Taiko an alternative tool to cypress.
  6. Provided technical support within the QA team and also reviewed pull requests for folks.
  7. Got started with FHIR through reading the squad notes and the vision statement which provided an insight of the FHIR project and now kicked off with technical contribution to support FHIR Squad in terms API and Interoperability testing. cc: @ibacher @janflowers

Work to be done;

  1. Streamline work for translating selenium tests into BDD tests so that tickets are availed for folks to work on. cc: @irenyak1 @mherman22 @ndacyayisenga @gracebish @jonathan @insookwa @jwnasambu @jnsereko

  2. Support API and interoperability testing in FHIR project.

  3. Identify and fix the remaining flaws in the automated tests within qaframework module to ensure the tests are doing the work pretty well.

  4. Provide support within the squad to ensure work within the squad is progressing.

Thanks to my mentors @dkayiwa @janflowers @jennifer @grace @sharif @christine for your guidance since the journey began. Thanks to QA Team for improving the QA Framework module so as to better OpenMRS processes and to release products with better end user experience.

:palm_tree: Happy new year-2022 to all community members :palm_tree:

6 Likes

Looking forward to that. Otherwise great work @kdaud

1 Like

All the best @kdaud , I am happy working with you!

2 Likes

Eagerly waiting @kdaud otherwise thank you for the work the quick response to probs … it’s indeed great to work with u

2 Likes

Thanks for everything! it has really been a blessing working with you and QA squad as a whole I have really learnt a lot.

                           LAST PHASE OF DECEMBER 2021

The the last two weeks of December 2021 were very quiet weeks due to holidays and several teams/squads chose not to meet again until the new year. And several of QA team members took leave or travels during the period however, sometimes I found myself behind my computer and was able to accomplish some tasks;

  1. Fixed the Platform UI tests that were failing since 12th of December and now they are up and running

  2. Fixed the flaws in all the workflow configuration for the 3.x RefApp tests though there is challenge of with the demo server on which these tests are spinning from that is causing all the 3.x tests to fail build plan. cc: @grace @dkayiwa @ibacher @jennifer

  3. @irenyak1 shared via qa-slack-channel a documentation concerning making code reviews on PRs which improved my skills in reviewing pull requests in GitHub efficiently and effectively.

  1. Monitor build plans for QA Framework and noticed builds are registering success(green) and all the automated 2.x RefApp tests are passing ci.

  2. I used the rest of my time to learn new tools in regard to testing and also learning new stuffs in software development.

As January 2022 arrives, translation of selenium tests into → BDD tests will kick off with availing tickets on the QA DashBaord to be worked on by the team.

                                 BYE BYE 2021

Welcome 2 :fireworks:0 :fireworks:2 :fireworks:2

4 Likes
                      THE MONTH OF JANUARY 

      Converting Selenium Legacy Tests into BDD Tests

The month of January has been around converting legacy tests into BDD tests so as to have all the automated tests well documented through feature files for easy maintainability of the qaframework module. This entails combining similar specific tests for a RefApp feature to form a concrete workflow that is well documented through writing feature file and its equivalent selenium methods.

Thanks @mherman22 @irenyak1 @jonathan @ndacyayisenga and other colleagues in the team who are working on the tickets on the QA Kanban board to have this work done. Thanks to @sharif for the reviews on the PRs which is making work move forward as we aim at finishing up the remaining selenium legacy tests.

During the month of December 2021, we experienced un-stability on the spa server on which our automataed tests for 3.x RefApp are depending on and this led all of them breaking during ci. Thanks to @ibacher and the MF team who made the server up and this gave our 3.x contributors to resurrect the tests. Thanks to @piumal1999 @kumuditha and the team who have worked on fixing these tests as some of them were breaking as a result of UI changes being done on the system in order to improve the user experience.

The month of Feb will be working on the remaining selenium tests so that they are all translated into BDD tests.

6 Likes

Well done @kdaud :clap: Courage!!! :clap:

Final Reflections as a QA Fellow

Am so thankful to Fellowship Administration giving me the opportunity to be part of the second cohort in the fellowship program with a community that deals with saving lives around the globe. The program shaped my technical and non technical skills which am already sharing with other community members through mentor-ship.

A word of thanks to:

  • my mentors @dkayiwa and @ibacher for their wonderful Technical guidance.

  • @jennifer @janflowers @christine and @grace for their wonderful Project management work .

  • my colleague @sharif . It’s a nice experience to work together with you on the project.

  • the entire OpenMRS community for your support through out my fellowship journey.

I’ve created the Slide Deck, Site and Video Presentation below summarizing all my work done during My Fellowship Journey .

Thanks.

8 Likes

Congratulations for this far! It has been nice working with you and we are still working together. It’s with no doubt @dkayiwa and @ibacher have produced a world class QA engineers in less than a year. You 2 fellows run the project as bosses!!!

Kudos @kdaud , Well done :clap:

great stuff, continue mentoring as you’ve been doing!

Congs @kdaud for the great work… reviewing code en more…may u continue to shine

:openmrs: New Fellowship Journey: OpenMRS Development Fellow :openmrs:

Am very excited and happy to be part of the OpenMRS fellowship program 2022 as a fellow in the area of development focusing on Backend Development and Tooling.

Am glad to be working directly under the mentor-ship of @dkayiwa and I’m excited to learning new skills and building my engineering career with his guidance.

Am so thankful to the Fellowship Administration and Board Management giving me another opportunity to be part in the 3rd cohort of OpenMRS fellowship program. @jennifer @dkayiwa @ibacher @janflowers @grace @paul

In the last two weeks of the month(April), I focused on:

  • Setting up the fellowship plan and defining the fellowship goals.

  • Setting up time with the mentor for the mentor-ship calls.

  • Understanding backend technologies(frameworks) used by OpenMRS

  • Getting familiar with openmrs-core code base

In the next coming two weeks, I will be focusing on;

  • Getting more familiar with backend technologies/frameworks(Spring +Hibernate)

  • Working on backend related tasks as I get my feet into backend development.

  • Reviewing PRs

  • Having mentor-ship calls with my mentor.

6 Likes

Congratulations @kdaud. Best of Luck in 3rd cohort.