Fifth Phase - Experience and Learning

Anyone who has never made a mistake has never tried anything new — Albert Einstein

When you are trying new things, you always need time to become an expert. It’s been quite a while since I have been working for Outreachy and it has taught me a lot of things. Well, these are the few things which I have come across.

The mystery behind “Truthy and Falsy"
From the definition, In JavaScript Truthy value is considered true when encountered in a Boolean context and vice versa for Falsy

So what’s the mystery behind this?

This is the concept behind it but why is it being utilized in my open source project?

Well, I was making all the use cases from sync to async and on the way, my mentor and I observed something strange. The values inside the assert were returning a “Promise” rather than an actual value. We didn’t figure this out earlier because tests were passing and we thought that there wasn’t an issue. In reality, what was actually happening was that the tests were passing because “assert” considers a Promise as a Truthy value rather than a Falsy, and for that when it used to receive a Promise, it used to mark it as a pass.

In simple terms, all the values besides these are considered Truthy.

  • false
  • 0
  • -0
  • “”
  • null
  • undefined
  • NaN

So this was something new that I didn’t know before so definitely it was a learning experience for me.

WebdriverIO — An Encyclopedia of its own
The documentation of WebdriverIO is indeed intensive and that’s really helpful. Over the time of my career, I have come across a lot of documentation and for some of the time, I have written my own as well but I haven’t seen documentation as extensive as this one.

Zuul, Jenkins, and Gerrit — Three Musketeers
Zuul is considered to be an open-source CI that powers some of the largest Open Source development efforts whereas Jenkins itself is a leading open source automation server. Jenkins provides hundreds of plugins to support building, deploying, and automating any project. Gerrit is a free, web-based team code collaboration tool. Software developers in a team can review each other’s modifications to their source code using a Web browser and approve or reject those changes. If you are using these three in a project, developers in your team would be appreciating you a lot. My experience with these three tools has been great and it looks like when you are in a battle, this trio is always there to protect you.

Experience Uptill now
The experience has been really superb up till now and I have learned a lot. This experience would help me in my career to become even a better software engineer in the future who doesn't only know about software development but would know about software testing as well!

Written by Osamaahmed17 on Apr 17 2022, 4:16 PM.

Event Timeline