Ensure Quality and Functionality of a Software as an effective Tester

Posted on 16 December, 2016

A blog on the topic I had performed in the SETU 2016! I am Sure this is going to help you a lot to make your doubts clear about Software testing and how your career can kickstart with this profession.

If you have an eagle eye to find a bug and have a spectacular mind to fix it then Software tester is your best-suited career option! All of us might have a dream to be a matchless developer in the high competitive market but the realistic scenario does not favour our ultimate dream. One should be proactive to find some other lucrative alternatives so that they can safeguard and prosper their future. One of such upcoming career option is being a software tester. A personnel with the same background as a developer who keeps an eye on the bugs in software from its development to deployment stage designed by a developer is a Software Tester.

If you are going to purchase gold for your wedding, then what will you check before you purchase it? A hallmark on it, right? Similarly, when a client purchases your designed software he will be more confident to adopt it if you have a quality check from a software tester.  Software testing involves the process of validating and verifying that a software program or application:

  • Meets the client’s business and technical requirements
  • Working as expected to work
  • Can be deployed without any technical errors

As a software tester, you are engaged in quality assurance of the software development and deployment. This can be conducted manually as well as in automated test formats. The procedure includes analysis of software and systems to avert risk before it reaches to the final end-users. Thus a tester is somebody who picks out the goof of a developer, so a developer does not like Testers! Anyways, both needs to shake their hands in order to make a perfect software and both of them possesses equal weightage. It is not always that a tester brings out the loopholes from the developed program but can also have valuable advice and guidances to the developer as (s)he tends to know the obvious bugs after a span of experience.

Objective of having a Software Tester

Humans are meant to make mistakes! No human can code a perfect program. We all need to recheck what we have done as everything or anything can go wrong anytime either in hurry or in blind spot. Also in today’s scenario, there is a high pressure on a developer to deploy his/her project at the earliest. Thus under such circumstances, it becomes very obvious that a developer may commit a mistake which (s)he him/herself can not realise. Therefore , Software testing becomes very important and integral part of a successful software development which creates an urge to hire a software tester. Few of the basic objectives are stated below of having a Software tester:

  • Gaining confidence in and providing information about the level of quality.
  • To make sure that the end result meets the business and user requirements.
  • To prevent defects and bugs.

Why a Separate Software tester? 

You must be thinking that why one need to have a separate software tester rather than imposing the duty of analysing the bugs to developer itself. Well, one can never see his/her own loopholes. It is a human psychology that if we can make mistake one time, we can never realise it the other time we go through it. Like for example, test it with your grammar. Write something and read it twice thrice and number of times, you will never realise that you have forgotten to write “is”, “to”, “.”, “,” etc. But give it to your friend, (s)he will spot it in one go. This is why we need to have a separate tester who is hired to have a negative approach towards the work done by the developer and tries to get the most unexpected error and bugs out of it.

Just imagine a case where one person is collecting the requirement of the client, designing and planning the implementation, programming the code and deploying it to the user’s system. Don’t you find it little hectic for a single person to do it and that too from more than one client at a time? Now this is how we can justify a need for a separate Software tester. This will make the work little easy for a developer and no client will suffer because of any other client.

How a Software Tester Works?

The work pattern of software tester depends on the project and the size of the organisation. But the basic task pattern is as below:

  • Getting the coded program from a developer
  • Collecting the client’s requirement from the developer
  • Forming a sample code for the requirement
  • Analysing the program and its output from a developer and his/her own.
  • Testing the bugs in the program by a developer and tries to fix it.
  • Making a report of the bugs, errors and defects from the program and communicating it to the programmer/developer
  • After the revision, have a perfect performance analysis before floating the software to the client.

What is performance analysis?

Performance analysis is part of testing a software in a way that it not only depicts out the bugs or error but also eradicates the bottlenecks from the most accurate program. Majorly it tests the speed of the system after deployment of the program or say how much load can be taken by the program and other such aspects. The focus of a performance analysis is to find out three major components of good program which are:

Speed: in this type of testing, the speed factor under different systems and load is determined for a program

Scalability: It is a type of software testing that test the ability of a system, a network, or a process to continue to function well, when it is changed in size or volume in order to meet a growing need.

Stability: Here the testing determines the stability of the performance of the program under varying load and situation.

Performance testing is one of the most important step in software testing as it eradicates all the issues that can arise in the later stage and thus it gives a complete quality assurance to the client.

Steps of performance testing analysis

This process takes place mainly in the lab and with high-tech equipments and software. The process of it includes the steps as shown in the below diagram:

Techniques of Software Testing

There are two techniques at large to have a software testing:

1. Black Box Technique :

Black box testing is a software testing techniques in which the final output of the software under testing is tested without looking at the internal code structure, implementation details and knowledge of internal paths of the software. This may not require a developer or a technical person to test.

2. White Box Technique :

White Box Testing is the testing of a software solution's internal coding and infrastructure.It focuses primarily on strengthening security, the flow of inputs and outputs through the application, and improving design and usability.

Example of Testing :

Let's take a basic example of requirement as below:

Enter Month & check validity

No of components to check :

  • Less than zero -1,-2,-3
  • Valid Partition 1,2...12
  • Invalid Partition 13,14,15
  • Alphanumeric A1,A2,A3
  • Alphabetic A,B,C
  • Symbol !@#$$

Strength reduction

1
2
3
4
5
6
int i, sum = 0;
for (i = 1; i <= N; ++i) {
  sum += i;
}
printf("sum: %d\n", sum);
                                

This code can be written using a mathematical formula like :

1
2
3
int sum = N * (1 + N) / 2;
printf("sum: %d\n", sum);
                                

Skills required to choose Software Tester as a Career

You must work on below skills and make it powerful if you want to opt this area as your career:

  • Problem solving skills
  • The ability to work under pressure
  • Attention to detail
  • Competent technical skills
  • The ability to work in a team and individually

How to uplift your Testing Performance

Follow these points and make your performance even more competitive as a tester:

  • Learn continuously
  • Take interest and Involve yourself  from the initiation of the project ie. from the requirements stage
  • Plan, review and replan continuously
  • Design test procedures as soon as requirements are available.
  • Keep notes on new things in the project
  • Maintain continuity of the Software Tester in the project
  • Think freely
  • Keep your seniors, peers and juniors about the work that you do
  • Follow the testing standards adopted by the organisation

You may get an opportunity even when you are fresher if you have good hold in finding out the bugs and have a hold on reporting the things well. It also depends on the company you choose to have your internship.

It's time examine your skills! Choose the one which is best for you! Use this guidelines and make your career a rockstar performance. I’ll be back with my another topic soon.


Dipesh Tanna , Odoo Project Manager
SETU

Post Your Review

X

Your Review has been posted

0 Comment(s)