Proposal for T328587
Profile Information
- Name: Takaharu Nakamura
- IRC nickname on libera.chat IRC: appare45
- Web Page: https://appare45.com
- Location: Japan
- Time Zone: UTC+9h
- Typical Working Hours: 6 PM to 11 PM (UTC+9h) On not college day: 8 AM to 11 PM (UTC+9h)
Synopsis
WikiLamda is a part of the Wikimedia project. Writing the E2E test helps WikiLamda developers to find a bug that occurs in a particular environment and integrating the test into the pipeline lessens the trouble with testing locally.
Project goal:
- Write more e2e tests against WikiLamda
- Develop e2e testing workflow runs on GitLab integrated with commit and deployment
- Expand e2e test runs on not only Chrome but also on other browsers
- Make a bot visualize the result of the e2e tests such as failed tests and the time test takes
- Write documentation about e2e testing and integration for other contributors
Wikimedia is planning to migrate from Gerrit to GitLab and my project helps other Wikimedia projects start the e2e test.
Possible Mentors: @SDunlap, @Jdforrester-WMF
Deliverables
Community Bonding Period
- Create the project's task
- Set up my MediaWiki page
- Study and summarize current Wikifunction's testing workflow
- Study Wikifunction's deployment process
- Find out other user journies tests required
Phase 1
| Week | Task |
|---|---|
| Week 1 (May 29-June 5) | Write tests for critical user journey |
| Week 2~3 (June 6-19) | Write tests for other user journies found during the community bonding period |
| Week 4 (June 20-26) | Investigate Gitlab CI and deployment process and summarize it |
| Week 5 (June 27-July 2) | Design e2e testing workflow integrates with deployment |
| Week 6 (July 3-9) | Start developing the Gitlab CI workflow |
| Week 7 (June 10- July 14) | Midterm evaluation |
Phase 2
| Week | Task |
|---|---|
| Week 1 (July 14-20) | Develop deployment workflow on Gitlab |
| Week 2-3 (July 21-August 3) | Develop workflow integrates e2e tests with deployment |
| Week 4 (August 4-10) | Expand e2e testing workflow not only runs on Chrome |
| Week 5-6 (August 5-18) | Develop test result visualization bot |
| Week 7 (Aug 19-26) | Write a documentation about e2e testing and the workflow |
| Week 7-8 (Aug 19-28) | Final evaluation |
Extended Phase
- Write documentation about the e2e testing and the integrated workflow
- Improve e2e test running time
Participation
- I'll be online on the IRC channel during the working hour
- I'll use Phabricator to discuss, track tasks, and ask questions
- I'll be available by the email(kaibatsu35.7m45@gmail.com)
About Me
Starting this April, I will be studying at the College of Information Science, University of Tsukuba in Japan.
I began programming two years ago, with a focus on JavaScript and React. I first heard about this program from a senior student at my university who contributed to it several years ago.
During the class period on weekdays from April to July, I will be studying at the university. Typically, I can work after 6 PM on days with classes, but it may be not easy to maintain my usual schedule during test periods.
While I'm not yet proficient in English, I believe this project will help me improve my communication skills in the language.
I understand the importance of quality assurance (QA) in product development, particularly in end-to-end testing, which is one of the most challenging aspects of QA. This project will provide me with valuable knowledge and experience in QA.
Currently, I lack experience in contributing to open-source software (OSS), but upon completing this project, I hope to gain a better understanding of OSS contribution standards, such as using Git and effective communication, and become an active contributor.
Past Experience
bugfix: T331880, https://gerrit.wikimedia.org/r/c/mediawiki/extensions/WikiLambda/+/898676
I've developed an attendance management and communication app for my high school: demo
I learned JavaScript, git, Firebase, vite, and React through development.
Currently, I have limited experience contributing to open-source software (OSS). But through this project, I hope to gain the skills necessary to contribute to OSS.