Amid a pandemic, the first reflection of TC3045

Image from @ThePracticalDev under CC BY-NC

A year has passed since the pandemic for Covid-19 started a year ago, and as a computer science student, not much has changed. Classes now just moved to online, but I don’t need more tools other than my computer. This semester I decided to take the TC3045: Software Quality and Testing course, and so far, it has been the most interesting class this semester.

There wasn’t a specific path of what I have learned through the first month (and a half, I think). I have the course content on what I should be learning in Ken’s blog about the course (linked above), but the general idea is at the end to learn about what you’re most passionate about.

Personally, I have been trying to work my way through the content recommended in class, but at the same time trying to join previously learned practical concepts with the theory I’m reading and learning about.

Mastery topics

For the first mastery topic about what is Software Quality, I already wrote a post about this. My methodology was to google about it and write about what I found most interesting. I have to say, that is really interesting the idea of the rules for quality given by the ISO 25010. This because, when developing, one never thinks about this kind of standardization; there may be some standards in your organization, but I bet that there are very few organizations that really use this specific standard, compared with other industries where ISO is a requirement.

From my Facebook experience, the quality bar was basically to accomplish the projects’ requirements, and if you can add more then, it’s a lot better. But that also factors the part that I already have all the infrastructure that handles security, availability and all that stuff as a developer. On the other hand, in Oracle, during my internship, one of the ways we measure quality was the requirements as well, but also there was this part of security and availability that we developers were in charge of (I helped specifically with the ACL of the project I worked on). But both companies never mentioned ISO 25010, you were just expected to do as best as you can, and if something is missing, there will always be someone else to bring that up.

Hypothes.is

Hypothes.is is a tool focused on making reading on the internet a more social activity. On whatever page you visit, you’re able to mark-up content and comment about it publicly or privately with a specific group. For this course, we have been doing the latest, and it has been an interesting idea. Starting with the recommended lectures each week, we read them and start commenting using the tool.

Personally, it has been different, but at the same time difficult. I haven’t been able to really add much content to the discussion in hypothes.is cause sometimes I don’t have a specific comment about certain sections, but I create my own conclusions and extra information from the text as a whole. But for the times I have been able, it’s interesting how conversation can be improved, and at the same time, it makes learning a more social interaction rather than a lonely activity.

TCR

The funniest part so far has been working on the Test && Commit || Revert activity. With Alex Gonzalez we created a repository for our class to use as a base to learn about this new methodology that is being pushed up by Kent Beck called Test && Commit || Revert.

This methodology basically consists of having some tests, doing changes to your code. If the tests fail, then your code is reverted to its previous state. The idea of this is to force us, developers, to tests while creating atomic changes.

A funny story while doing this, when setting up the repository, it was fun because we configured our computers to revert changes if tests failed. Still, we were trying to do the readme for our classmates to set everything up, but because the tests were failing, the same environment was removing our changes from our readme!

Using this environment we set up, we did an activity about it. I even have a video of my staring at my code for an hour and trying to understand why it’s being removed (If you’re not the intended reader of this post, a.k.a Ken, watch at your discretion, if it’s you, Ken, then you already watch a part of it I didn’t change anything from what I submitted):

Conclusions

This semester looks interesting. In specific this class, I didn’t think there was so much practical stuff I could learn (cause of my work experience), but I would have the opportunity to match theory with the practical training I had. Still, I was wrong, and I see there is still practical stuff I can learn (like the TCR experiment), but everything is all up to me if I want to do it or want to focus on something else.

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.