SQA Project: Back To Basics (Cont.)

josh sudung
4 min readNov 11, 2020

--

Where was I?

My last article talked about my SQA class and its classwide project, in which each student must submit and implement at least 2 issues regarding the class’ shared software. I mentioned that these issues don’t have to strictly be ‘issues’. We can also implement new features that may help boost users’ experience in a way without changing the software’s main purpose. I explained how my first issue with the app was that it lacks a navigational feature that is necessary to help users explore all the software functionalities with ease. As I was traversing through the software looking for features that can be included in the Navigation Bar, I found something missing that isn’t required per se but would be nice to have regardless.

The second issue

Now let me remind you what the software is about. Digipus is an online library system in which users can contribute to the contents of the library by uploading their own materials. Other users can access and download these materials via a catalog page complete with a query system. Stumbling upon the upload page, I notice that it does not have any sort of document validation system that can help users confirm their uploaded materials before it is sent to the database.

The upload page

Of course, uploaded materials do not go straight to the library for other users to read. It has to be verified by admins, and only then will people be able to access it via the catalog page. But what if a user mistakingly uploads the wrong document? What if it’s a personal or a private one that even admins shouldn’t read? Wouldn’t it be nice to have a preview of the selected document even before they click upload?

The document preview

Considering the previously mentioned points, I decided to implement a document previewer for both the cover image and the content itself. The cover previewer is easy to implement as the file source is an image and HTML itself supports image previewing natively with <img> tags. All I have to do is take the selected document local URL and use it as the source of the previewer.

Cover image previewer

Now, the content previewer itself is a bit tricky. Digipus does not limit what kinds of files a user can upload. Obviously, this is a bad practice as valid library contents rarely contain files other than media and text documents, but that is a problem that deserves its own issue. For now, we assume that users will only upload the expected file types. How can I implement a previewer for different types of possible files that users upload? Is there any way to generalize them?

Fortunately, HTML supports the <embed> tag natively. It can preview a variety of file types, starting from pdf and text files to audio, video, and image (media) files. All I have to do is to set the source of the embedded previewer to the local URL of the selected document. Voila!

Previews PDF files
Previews media files
Previews text files

Unfortunately, after hours of searching, I found no way to correctly preview .docx (Microsoft formatted document) files natively in a browser without the help of sketchy third-parties, which is kind of a bummer because tons of library materials are formatted like such.

Some takeaway

I found a weird mindset of some software developers that dislike the quality assurance process, as to them, the process tends to tumble down the efforts taken to develop the software. To me, finding issues and shortcomings of my own developed app is fun (yeah, testing is fun) and in no way discredits the efforts of the original developers. After all, software quality assurance it’s all about learning from mistakes and covering the shortcomings of a given software to achieve the common goal that is to maintain the quality at the highest possible level.

Written as a blog review assignment for my software quality assurance class.

--

--

josh sudung
josh sudung

No responses yet