To summarize the series, I first read and wrote notes for the ISTQB foundation-level syllabus, and then worked through a multiple-choice practice exam. Writing everything down to post in this journal took some extra time compared to just reading/thinking, but I suspect it was worthwhile.
ISTQB Certification Practice - Example Exam
ISTQB Certification Practice - Chapter 6
ISTQB Certification Practice - Chapter 5
ISTQB Certification Practice - Chapter 4
ISTQB Certification Practice - Chapter 3
ISTQB Certification Practice - Chapter 2
ISTQB Certification Practice - Chapter 1
ISTQB Certification Practice - Introduction
The next few entries of this journal will be my study notes from the ISTQB syllabus, as I work towards the ISTQB "foundation"-level certification. Expect an overview of what software testing is, and discussion of some common testing techniques (ie. white box versus black box, etc).
Omni Converter Challenge - Retrospective
Omni Converter Challenge - Results
This quest is nearly over, let's recap what has been done so far. Given the task "test the Omni Converter Challenge service," I first read its documentation and performed exploratory testing to build an understanding of the system (store and retrieve files containing Directed Acyclic Graphs via a RESTful API). Based on that understanding, I created a regression testplan. Then I built a SoapUI test suite which automates that test plan. Now it's time to execute the test suite and review the results.
Omni Converter Challenge - Regression Automation
With a testplan in hand, it's time for execution. These are regression tests, so I should spend the time now to automate them, to save manual execution time on subsequent runs. But how should I perform this automation?
Omni Converter Challenge - Regression Planning
The idea behind regression testing is to find bugs in the new version of a system, when those bugs were not present in older versions of the same system. Since the requirements of the new version are usually very similar to the old version, regression testing is done with a single set of tests reused across many versions. Since the tests can be reused, it's worth investing some extra effort up-front to make those tests the best they can be. An extra hour spent automating a test today might save 30 minutes in every subsequent run, quickly paying back that initial cost.
So, if my goal is to regression test the Omni Converter service, then I should be thinking about automation. I know from exploratory testing that I need to send HTTP requests, and that those requests have predictable text responses. A simple way to automate those tests would be to shell script a series of HTTP requests using cURL, print their responses to a file, and run some sort of analysis on that file to verify correct results. Let's try it.
Omni Converter Challenge - Exploration Pt. 2
Omni Converter Challenge - Environment Setup
It now occurs to me that I never planned out my testing environment. While I could continue testing through Palantir's web frontend, that frontend will become unavailable after 5 days when Palantir ceases hosting my OCC server instance... meaning I'll need to download the source code and host it myself. So, what does my environment need?
Omni Converter Challenge - Exploration
Omni Converter Challenge - Analysis
As with any testing project, this one starts with determining expected behaviour. Bugs are defined by their difference from expectations, so to find bugs we must first have expectations.
Reading through the Omni Converter documentation, I would describe it as a REST API service with the purpose of storing Directed Acyclic Graphs (DAGs) in various file formats. DAGs can be created, stored, replaced, retrieved and deleted. There are also some informational commands for API version, supported file formats, etc.
So, if OC is a REST service, then its expected behaviour lies in how it responds to HTTP requests, sent to specific endpoints...
Omni Converter Challenge - Introduction
The Omni Converter Challenge (OCC) is a web service designed by Palantir as a target for practice debugging/development. Participants are each given a server instance hosting the Omni Converter service, where they can look for deficiencies and try to improve upon them. Over the next few weeks I will perform exploratory and regression testing on OCC and track my progress in this journal.
Getting Started
This journal will follow the development of my portfolio, and successes and/or failures in job-searching. I intend to keep this site up-to-date throughout my career as well, but we'll see what happens.
The site is currently under construction using SquareSpace as a toolkit, all the pieces should be finished in the next few days as time/interest allows.