Software Quality Assurance — Class Project Report Episode I

Ibnu Firdaus
4 min readOct 6, 2019

--

You’re right ! It’s from google images.

Introduction

Hi component of society, I’m Ibnu Sofian Firdaus, Student in Universitas Indonesia, majoring in Computer Science. As you can see, currently I’m taking this Software Quality Assurance Class. This blog will serve as the first part of my class project report. The project itself is called KAPE (Kanal Akses Pendaftaran KP Elektronik — Electronic Access Channel for Internship Registration). This project will provide Fasilkom UI student in finding their places to work for their mandatory internship.

So in this project, all student could freely create their own user story which should contribute to the overall functionality of the project. The project was basically left open-ended, there were many code smells, unfinished features, w̶o̶r̶l̶d̶ ̶w̶a̶r̶ ̶r̶e̶l̶i̶c̶, bugs, and field open for new features and such. And in this part, I create a feature to filter opened vacancy from already closed ones. This is quite helpful because it could remove vacancy we don’t really need, thus focusing only on the still open ones. Let’s dive deeper !

The Trenches

Given the course is all about software quality assurance, we would wanted to implement one QA technique or another in doing software develpment. In this case, we will be using Test-Driven Development or TDD for short. To put it simply, we think of what we want to code, create the test for it, implement the code to pass it, and do few refactor here and there to fit in our internal agenda.

So my features basically just filter and remove closed vacancy, thus leaving only others that still opens. But we need modify things both in the frontend and in the backend. To make the process more valid and seemingly more legit too, we have to create test code for it first. So let’s go !

First Step : Test

So I created the test to make sure my function 1) is callable through the frontend via a variable 2) could filter out closed vacancy. So here is the code for 1)

So what these two test block do is that they tried to call the vacancy page twice with both possible option. The goal for this test is that we should have callable web page that filters out closed vacancy. Next is for the 2)

This block of code basically create new vacancy that is already closed, yet we intent to make sure these vacancy don’t show up, so we call our features to handle that.

Second Step : Implement

In this part, we have to implement the specified-by-testsuit requirements. Here’s the snippet code for that.

What these code do is that it is filtering out those vacancy that is already went past the closing time for application.

Then on the frontend side, I added a new tab that will call the vacancies function, as usual, but with extra property of opened_only equal to 1

So how do these will look like ?

The Deployed One

So here’s how it looks like when all of this is combined and then deployed

Unfiltered Vacancies
Filtered Vacancies

We could see that on the first image, that shows unfiltered vacancy, all vacancy are being included. Then on the second one we see that all those expired vacancy are not being listed. Unfortunately the seed data doesn’t have non-expired vacancy, but it should work all the same anyway.

That wraps this blog for the report of my part 1 class project activities. Goodbye and see you on the next one.

--

--