Software Testing in Today’s World. Think it’s easy, think again!!

Testing seems easy!!

Testing seems easy!! Well, it’s easy to start out. 
Running tests and reporting bugs doesn't require a lot of technical expertise, 
but it is just the starting point. As you climb up in your career as a tester,
you have to learn a lot of technical skills to be able to plan test cases, 
design the test plan, pick correct tools out of several options to use, etc.

 

Methodologies

Today,the IT industry follows agile methodologies to accomplish a 
software project. In these methodologies, the entire software application is
broken in bits and pieces known as “software builds”.  
The entire project team focusses on gathering and analyzing requirements, 
designing, coding and testing 
for a single build at a time.

 
Software projects include web based applications, desktop applications or 
mobile applications. The boom of e-Commerce industry and smartphones has 
hastened the pace of developing mobile based apps. In the 1990’s 
software testing was done according to the waterfall model. After the complete 
software was built by the developers, the testers would begin the testing of
the application. However, in the last decade, with the development of 
agile methodologies, software testing has evolved to the next level.
Testing begins in the initial phase of developing a software. It starts in 
the “Requirement gathering” phase. To explain this, let us consider a scenario. 
A business analyst creates certain documents known as BRD “Business Requirements 
Document”. A tester begins to create test cases based on the document.  
If the tester finds any discrepancy, the tester would raise an issue.
For example, a requirement says: “The application should allow concurrent users to
access the application at a time.” A tester would question: “How many users?”  
The answer to this question would make it easier for the developers to design 
a module of a project accordingly. Thus, the tester has certainly saved
some dollars for the project.  If the tester would not have found this issue, 
it could have easily increased the cost of project when this issue would 
show up in the later stages.
The next stage is testing the current software build. A tester executes 
the test cases and provides a report to the stakeholders or developers. 
However, the tester has to understand the application thoroughly to test it. 
Here the tester has to play the role of a business analyst.

 

Test Automation

In this decade, new concepts have gained significant momentum in 
the field of testing: “Automation and Performance”.  
Test automation involves writing scripts, or pieces of code in
a programming language using a test automation tool.  
It helps to test an application in less time. This requires 
a technical expertise,to use a tool and programming language to write code, 
and thus save time and cost for the project. It is definitely a challenging 
task for a tester in the initial stages of his or her career as he or she has
to think like a developer.


 

Performance based testing and UI testing

A tester also has to keep an eye on UI issues especially for applications 
which work on mobiles, tablets, etc., as the mobiles and tablets come in a 
variety of screen sizes. The tester has to also ensure proper performance of 
an app on these devices. Performance testing can also be done for desktop and 
web – based applications. This is done by using certain performance testing
tools which help to create a virtual load on an application. The virtual load 
helps to test the application. For example: It can give an answer to how the 
application would respond to service requests form 1000 users concurrently.

 

So do you think that testing ends here?

Definitely not, with growing technologies, a software tester has to 
continuously expand his or her horizon of knowledge. Today, it would 
not be uncommon to know that the horizons of testing are expanding 
to newer fields. It includes API testing which deals with 
the application programming interfaces created by developers, ETL testing which
deals with data warehouse and a lot of new fields will gain prominence 
in the future.

 

Testing today involves manual, automation, mobile –based, performance testing
and a lot more. Well, we see that, today, software testing has become an
important, interesting and a challenging field.

 

要查看或添加评论,请登录

社区洞察