A Sneak Peek Into the World of Testing
Written by Pinky Albert - 20 Sep 2017 4 minutes read
To an optimist, the glass is half full; To a pessimist, the glass is half empty; To a good tester, the glass is twice as big as it needs to be.
This sentence perfectly describes a software tester and how they work. In technical terms, a software tester will be involved in the quality assurance stage of software development and deployment. We conduct automated and manual tests to ensure the software created by developers is fit for purpose. Software testing involves the analysis of software, and systems, to avert risk and prevent software issues.
Imagine software development as a restaurant. The developers will be the different chefs in different stations. The testers will be the head chef of the whole restaurant- we create a timeline for every menu, check the progress of every dish made, try out every dish from time-to-time, critique what you have created, point out mistakes, ask you to revamp the presentation of the dish, and ensure that the quality and quantity meets the customer’s satisfaction.
Explaining to a non-technical person about software testing is hard thing to do. The first reaction to what we do is always- So, you just point out mistakes to things already created by others? No, that’s not all testing is about! It’s more than that. Testing is the stage of software development that checks whether the reality still matches with the idea that the client has in mind and if not, how far are they from each other. Testing has various stages, each stage progressively providing greater guarantee of the end result.
Here are some basic testing terminology explained in simple terms to introduce you to the world of testing.
Testing: Evaluating a product through inspection, exploration and experimentation for the purpose of informing the clients at risk. Testing is comparing the ambiguous to the invisible, so as to avoid the unthinkable happening to the unknown. Testers do not make the go/no-go calls on releases - we are simply the flashlight that highlights the risk and likely problems so that our clients can make much more informed decisions.
"The purpose of testing is to cast light on the status of the product and it's context, in the service of our stakeholders." - James Bach.
Bug: Anything that threatens the quality of the product. Ever wonder why a bug is called a bug? The term bug, describing an software error or failure goes way back to 1945. In late 1945, at the University of Harvard, a technical team found something unusual between points in Harvard Mark II. The found a real dead bug (the insect) which caused an error. This bug was carefully removed and taped to the log book. Stemming from the first bug, today we call errors or glitches in a program a bug.
Anyone can log a bug report. A bug report is something that stores all information needed to document, report and fix problems while testing web applications or software. A common and effective practise to find bugs missed out by the developers/tester is internal testing which is done by sharing the software with other teams in the organization.
Quality: Quality is value to some person, who matters. This is an incredibly important aspect because it highlights the extremely subjective nature of what product quality really is. The objective is not to test "everything"; it is to test what matters in the time allotted. The goal is to reach an acceptable level of risk. At that point, quality is automatically good enough.
“Quality means doing it right even when no one is looking.”— Henry Ford
Test Case: Formally constructed, specific, definite, proceduralized, documented and largely confirmatory test ideas. A test case is a set of conditions under which a tester will determine whether a system under test satisfies requirements or works correctly. Test cases are written not only based on the acceptance criteria of the client, but it should also include conditions and variables under which the software needs to be tested.
Quality Assurance (QA): The maintenance of a desired level of quality in a service or product, especially by means of attention to every stage of the process of delivery or production. The quality assurance role in the company resides with the management and the CEO (the chief quality officer in the company).
Test Plan: The test plan is the set of ideas that guide or represent the intended test process. Often those ideas are only partially documented, spread across multiple documents, and subject to change as the project evolves. The test plans are documented to convey test plan information to all the people involved.
“More than the act of testing, the act of designing tests is one of the best bug preventers known. The thinking that must be done to create a useful test can discover and eliminate bugs before they are coded – indeed, test-design thinking can discover and eliminate bugs at every stage in the creation of software, from conception to specification, to design, coding and the rest.” – Boris Beizer
Test Strategy: The test strategy is the way tests will be designed and executed to support an impactful quality assessment. Test strategy is essentially the “brains” of the test process. It is created to inform project managers, testers and developers about some key issues of the testing process.
That’s all the basic testing terminologies to get you started into the world of testing. For all the testers/aspiring testers all around, remember- “Testing leads to failure, and failure leads to understanding- Burt Rutan”.
More blog posts
Landing pages are everywhere. Products, Courses and Internet marketers who are tirelessly working on a beach towards making you rich - everyone uses l...