Newbies hear QA jargon like “smoke testing,” “sanity testing,” “scrum,” and “sprint” in a software quality assurance environment and are left to wonder, what do all these test terms mean? And, what about terms like “white box ” and “black box testing?”
In this article, we will simplify some terms related to software testing - they are easy enough to pick up as you start getting hands-on experience in the field.
Themes, epics, features, stories and tasks are part of the Agile Methodology of software development, in which solutions are rapidly achieved through the collaboration of independent teams working in one- to four-week sprints moderated by a scrum master. Breaking down the business requirements in this way ensures that only such information is communicated to the team members which is crucial for them to do their part.
Agile is different from the previous linear methodology in that it proposes testing in phases of short duration, or sprints. The product is kept market-ready and as the sprint goals are achieved, it can be released.
A theme is the description of the business goal; it may be tangible (such as an e-commerce application) or abstract (such as scalability of the application). A theme is further broken down into epics and stories; this helps management perceive the product in terms of sale-ability. Every feature is a group of related stories which provide a certain functionality to the end-user. A story is a piece of functionality that the user would notice - such as a new button on the page, a new field or a new capability in the application. An epic is simply a logical grouping of stories; a story may belong to more than one epic. Tasks are activities that the team needs to do in order for that story to happen.
Let’s compare the newer and older software development approaches:
When we talk of Agile, we also talk of Scrum and Kanban.
Where Agile is a methodology on paper, so to speak, Scrum is how you implement it in the workplace by structuring the organization. Scrum sprints are iterative and of short duration, mostly from one to four weeks. Since there is constant to and fro communication between the technical team members, both developers and testers, the sprint goals are achieved in a short time and any changes in client or user-end requirements are also factored in.
Kanban is a workflow method that follows the Agile methodology. It is NOT a parallel process to Scrum. In fact, the principle of Kanban can also be applied to a Scrum environment. As and when a team has the capacity, they will pull the next task off the backlog; the underlying concept is that focus should be on the task at hand and that there should be no bottlenecks in the workflow.
It was a technique attempting to logically discover the size, cost and timeline of the project at the onset. However, being a linear process, it naturally led to (sometimes massive) overruns in time and budget, and with the advent of personal computing and then the Internet, ultimately could not keep up with the client and users' evolving needs.
The following testing methods are used in QA :
The following types of tests are usually conducted:
Unit testing is that part of application development when its smallest testable parts, called units, are tested independently of other components such as units and modules. Because the developers are most closely associated with these individual units, they are typically the ones to perform this sort of testing.
A software application under development is often divided into modules and assigned to separate developers or teams; as the modules are developed, they are combined and tested in turn, which is called integration testing.
After all the modules are integrated to form the complete application, the entire application is verified, which is referred to as system testing or end-to-end testing. Both integration and system testing are typically performed by QA, while the developers turn their attention to the next piece of work.
Believe me, the vocabulary of testing grows on you! This is only an introduction of many QA and development terms, whereas plenty of additional ones were not discussed...if you felt this article could be improved with additional definitions and discussions, please let us know!
Recently, I was reading about the performance of actors in a local play. For a moment, I thought they were talking about “performance testing”!