
The golden rule of web performance revisited (Wikipedia edition)
Flashback to 2007: an engineer at Yahoo named Steve Souders studied users' time spent for different web sites and came to the conclusion that 80-90% of the load time of a web page is spent in the frontend (compared to the backend). He did a follow up 2012 and numbers were the same. He called it the web performance golden rule. What does that mean? Well, the conclusion was that to decrease the load time for users, start by optimising the frontend since there’s so much more time spent there.
Web Performance @ FOSDEM 2024 - call for participation
I'm happy to announce that QTE together with the Mozilla performance team will host the web performance developer room at FOSDEM 2024! It will be half a day of web performance and will happen on the 4th of February 2024.
Wikimedia Hackathon 2023, Athens, Greece
Fuzheado, CC BY-SA 4.0, via Wikimedia Commons
An Introduction to General Systems Thinking by Gerald M. Weinberg
- Three sentence summary
Testival 2022, Osijek, Croatia
Finally, after a few years, I've been to a conference. The last conference I went to was WebCamp Zagreb 2019. This was the first Testival conference that I have attended as a participant, not an organizer.
Testing Computer Software by Cem Kaner, Jack Falk and Hung Q. Nguyen
- Three sentence summary
Exploratory Software Testing by James A. Whittaker
- Three sentence summary
Testival Meetup #64, Zagreb, Croatia
It was a very long time since the last in-person Testival meetup. Just before the COVID pandemic, we had meetup #58, in March 2020. Before that, we've been meeting regularly every month for years. We also had a conference every year. It feels really strange that there was no in-person meetup or a conference in over two years.
Explore It by Elisabeth Hendrickson
- Three sentence summary
Sixth Phase — Reaching Destination
Life is like riding a bicycle. To keep your balance you must keep moving. — Albert Einstien
Fifth Phase - Experience and Learning
Anyone who has never made a mistake has never tried anything new — Albert Einstein
Outreachy, December 2021-March 2022
Every time I finish a mentorship, I read my blog posts about previous mentorships. Almost every time I finish a mentorship I write that I'll probably take a break from mentoring for a while, but then I don't. 😅
Fourth Phase — Career Opportunities
“Peace cannot be kept by force. It can only be achieved by understanding.” — Albert Einstein
Lessons Learned in Software Testing: A Context-Driven Approach
Lessons Learned in Software Testing signed by Bret Pettichord.
Third Phase – Midpoint Progress in the journey
“Simplicity is the ultimate sophistication” - Leonardo da Vinci
Second Phase – Everybody struggles and what does the audience think about it?
Failures and setbacks are always part of life and sometimes it feels more like a roller coaster. You can either enjoy it or just spend the whole time screaming in fear. Those ups and downs in roller coasters are more similar to failures and success in life. If you think about it, it’s more like a journey where you have a starting point and a destination.
First Phase – Introduce yourself
“A journey of a thousand miles begins with a single step” - Lao Tzu
Perfect Software by Gerald M. Weinberg
- The Book in Three Sentences
Lessons from 16 Years of Working Remotely
I have been working remotely since 2005. Recently, an intern has asked me for advice about it. I've decided to write a blog post. I hope the advice will be useful to a wide range of people. From people new to remote work (possibly because of COVID) to people with years of experience.
Schools of Software Testing
- Reading Club
Blog Post Writing Club
Smokers pressure you to light one, drinkers pressure you to drink one, we pressure you to publish one. -- Hrvoje Šimić
On Benefits of Team Chores
It has been my philosophy of life that difficulties vanish when faced boldly.
― Isaac Asimov
macOS vs Ubuntu Linux Part 2
In Blog Post: macOS vs Ubuntu Linux I've written about a fun experiment. I've dual booted an MacBook Air with macOS and Ubuntu. Then, I ran the same npm scripts on both operating systems. To make things more interesting, I've ran the scripts both on the host operating system and inside a Docker container. Running scripts on Ubuntu was so faster, that I wanted to dual boot my iMac too. At the time, I could not dual boot the iMac because my disk refused to be partitioned. In the last couple of weeks, I've formatted disks on both machines and did a clean install of both macOS and Ubuntu. It's time to run the experiment again!
The Phoenix project book: reflections and thoughts
The phoenix is a long-lived, immortal bird associated with Greek mythology (with analogs in many cultures) that cyclically regenerates or is otherwise born again.
Phoenix (mythology) - Wikipedia
Google Summer of Code 2021
Today is the last day of Google Summer of Code 2021. Vidhi Mody and Soham Parekh were mentoring Sahil Grewal on updating WebdriverIO to version 7 in Wikimedia repositories.
QA Support for Deployment Train
The Deployments page sets the working framework for QA workflow when it comes to deployment. Although the details and the level of QA work might be different from team to team depending on a specific team's workflow, specific projects and, even, specific phases of a project, the below is an outline of what seems to be, in a sense, typical QA activities for a weekly deploy cadence.
Beta cluster - the start
Testing search in MediaSearch - Part II
“But what am I going to see?
I don't know. In a certain sense, it depends on you.”
― Stanislaw Lem, Solaris
Page object pattern
There are two main purposes of the page object pattern.
Most Interesting Bugs
What makes a bug interesting? Any bug, by definition, has an element of a surprise (otherwise, it wouldn't be a bug). But not all bugs are equal in their ability to be surprising. Some bugs do stand out, presenting two essential elements of a surprise - unexpectedness and/or unusual manifestation. Based on my own classification criteria, I define a bug to be the most interesting if it is either (or both)
(1) difficult to find
(2) has a quite unexpected (mostly disruptive) impact
macOS vs Ubuntu Linux
I do most of my work on a 27-inch iMac from 2012. It's a good desktop machine.
Improvements to Email QA
INTRO
When running QA on emails, the most important things to check are the dynamic content populating correctly for different user types, and ensuring there are no layout issues. Especially in an increasingly mobile world, it's important to review how an email will be displayed on a large variety of devices at once.
Breakpoint at BrowserStack conferences (2020-2021) - Part 2 Focus on Exploratory testing
Since I was impressed with the depth of presentations at Breakpoint conference (at Browserstack) in July 2021 - see my post Breakpoint at BrowserStack conferences (2020-2021) - reflections and thoughts: Part 1 - Focus on Automation, it was really exciting to see that the next conference (March 2021) would be focusing on the intriguing topic of exploratory testing. The the presentations titles (here is the list of all presentations) looked equally exciting, for example
- "Manual testing is not dead...just the definition"
- "Whole team holistic quality"
- "Contemporary Exploratory Testing"
- "Building a testing culture"
Debug Selenium Tests: logLevel
This tip works if you're targeting:
- a local MediaWiki
- a remote wiki
- continuous integration
Breakpoint at BrowserStack conferences (2020-2021) - Part 1 Focus on Automation
“Improving daily work is even more important than doing daily work.”
― Gene Kim, The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win
Outreachy, December 2020-March 2021
Outreachy Round 21 has finished! Vidhi Mody, Soham Parekh and I were mentoring Harriet Ayugi on project Evaluation of Microsoft Playwright.
Evaluation of Microsoft Playwright
- Table of Contents
Eventlogging journey
“I felt in need of a great pilgrimage, so I sat still for three days.” Hafiz
Testing search in MediaSearch - Part 1
The secret of getting ahead is getting started. The secret of getting started is breaking your complex overwhelming tasks into small manageable tasks, and then starting on the first one.
—Mark Twain
Exempla Docent - Testing instrumentation on Special:Homepage (QA perspective)
Two previous posts - Exempla Docent Part 1 and Part 2 outlined QA approach to testing functionality of the Suggested edits (SE) module on Special:Homepage. Part 1 explored testing ORES model-articletopic logic implementation and Part 2 described testing user workflows.
Struggle, the road to growth
It has been more than 3 weeks into my Outreachy internship with Wikimedia foundations. The internship started well and the project that I'm working on is about evaluating Microsoft playwright as a possible replacement to the current automation testing framework being used. Week one was mostly about setting up the Wikimedia core by forking and cloning the Wikimedia core repository from Github. In order to simplify continuous integration, we are using Github as our code hosting platform to evaluate playwright instead of using Gerrit. The setup involved the following steps;
- Forking the Wikimedia repository
- Cloning the repository, setting up and running it on my local machine
- Connecting my forked with upstream
- Configuring CI.
To dream a dream. My Outreachy Journey
The year 2020 has been a year of massive change in the entire world, there are mixed feelings of loss, confusion among others, but all in all, there is always hope that keeps us moving forward. I must say that being accepted as an Outreachy intern has been that ray of light at the end of the tunnel that I needed to end the year and begin the new year. Outreachy is a paid, remote internship program with the goal to support people from groups underrepresented in tech. Starting my career in the field of software engineering has been a journey of hard work, persistence, and seizing every opportunity since where I come from such opportunities are rare and the support for women's engagement in technology is quite low.
Exempla Docent - testing UI for Suggested edits module
In Part 1 of Exempla Docent for QA practices, some approaches to testing ORES model articletopic were explored. This post, as Part 2, will present an overview on testing Suggested edits module (SE) - the UI that presents the ORES articletopic logic to users (more info on Newcomers tasks on Special:Homepage).
Engineering Productivity Virtual Offsite October 2020
October 26-29 2020 was my team's second virtual offsite. We've had many offsites, but the first virtual one was in May 2020. The structure of this offsite was similar to the one in May. About four hours of sessions every day, from Monday to Thursday.
Outreachy, September-November 2020
In Blog Post: Google Summer of Code, June-August 2020 I've said:
Spin up a basic local Phabricator instance with Docker
If you want to experiment with Phabricator and/or the Phabricator APIs, it can be convenient to have a local instance to play with.
Exempla Docent - testing ORES 'articletopic' model
ORES provides machine learning as a service for Wikimedia projects. The ORES model articletopic was used for the Growth team project - Suggested edits for newcomers on Special: Homepage.
Google Summer of Code, June-August 2020
June and July were pretty busy. I was on vacation the majority of August. Interns and other mentors were busy even then. For more introduction, read my post Blog Post: Google Summer of Code, February-May 2020.
Google Summer of Code, February-May 2020
In February 2020 I've noticed an e-mail that Wikimedia is participating in Google-Summer-of-Code. Unfortunately, I've ignored the e-mail and soon forgot about it.
Fanboying Cypress
Software development is pretty agile in its nature in that things normally tend to move pretty quickly. However, the faster you move, the more things break. As a codebase grows in size, its pieces become more and more complex, with every line adding a potential bug. In Wikimedia Foundation, we keep a handle on this through rigorous amounts of testing. Manual testing requires a lot of effort especially when you have a large core repository with a plethora of plugins and extensions that need to be tested. One of the hot frameworks on the scene is Cypress, a complete end to end testing solution.
GSoCpedia: The journey so far
“Imagine a world in which every single human being can freely share in the sum of all knowledge.”
~ Wikimedia Foundation
Written with ❤️ by Quality-and-Test-Engineering-Team.