Software Testing Career

More

Software Testing Jobs & Resume

More

Software Testing Skills

More
6
Apr
2015
0

The role of a Software Tester

In literal terms, testing means revealing a person’s capabilities by putting them under scrutiny or strain.

When you replace “person” with “software” in the above statement you get an apt definition of software testing. There could be many ways to describe it and a more formal definition of software testing would be:

Software testing is an investigation conducted to provide with information about the quality of the product or service under test. Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software implementation.”

Software Tester is technical person who conducts testing on software applications to ensure that intended functionality is working and ensures quality and integrity in the solution provided.

Software tester’s role is to reveal the weakness of the system under test.

Tester is an integral part of Software Development Life Cycle and is continuously working since the beginning of the cycle because there is a lot to be done before start of testing.

Let’s take a detour to Software Development Life Cycle with tester in driving seat:

SDLC

[Figure: Software Development Life Cycle]

1. Requirement Gathering – 

Typically, testers would wait till all the requirements are analyzed, discussed and locked in the form of Requirement Document Specification. However, in recent times with development models like Agile*, Test Managers/Leads may participate in such discussions with customers and design excerpts which gives them better clarity, control and confidence.

2. Design –

In this phase, Test team starts preparing the Test Plan when Design team is working towards the solution. The Test Lead will prepare it but as a tester it’s your responsibility to take part in the preparation of the Test Plan. Test plan documents the strategy to ensure & verify whether the product/system has met its requirement, which includes introduction of assumptions, list of test cases, list of features to be tested, risks and scheduling, deliverables, approach, resources.

3. Implementation – 

This phase takes the maximum time in cycle and hence it must be well utilized by the Tester. To be ready to start the execution, testers get all the documents ready and review completed and Test Environment configured:

  • Preparation of Test Cases
  • Preparation of test scripts
  • Preparation of Test Data & Test Bed

4. Testing – 

Tester has full ownership in this phase and by this time he should have everything he needs to get going. He/She is responsible for:

  • Execution of Test Cases
  • Defect Tracking
  • Re-Testing of fixed defects
  • Attending daily/weekly call to report progress
  • Conflict resolution meeting with design team and/or project management

5. Deployment – 

For a successful software delivery, Tester must have successfully completed his testing and performed test closure activity:

  • Closed all open defects. If all open defects are not closed, Tester must get an approval from all the parties to move it to the next release.
  • Test summary report is prepared.
  • Verified all planned deliverables are complete
  • Data is collected for facts, figures and learnings
  • Green lighted for delivery

 

Also Read: Software Tester Skills, Challenges faced by Software Tester

 

6. Maintenance – 

In the maintenance phase, whenever customer raises an issue from live site, tester needs to perform following tasks:

  • Assist development team in issue reproduction.
  • Verify the fix submitted by design team
  • Provide Root Cause Analysis of why the issue was not caught in the testing phase and steps to be taken to avoid similar issue in future.

Let us understand the roles and responsibilities of a software tester at various Testing phases in some detail:

  • Better understanding of Application related documents :

It’s important to get a clear idea on the application i.e. requirement of the application, work flow of the application and before starting testing they should go through the requirements’ documents & should review them properly.

  • Assisting with preparation of test plan:

Testing process start with the preparation of Test Plan.

The Test Lead will prepare it but as a tester it’s your responsibility to take part in the preparation of the Test Plan.

Test plan documents the strategy to ensure & verify whether the product/system has met it’s requirement, which includes introduction of assumptions, list of test cases, list of features to be tested, risks and scheduling, deliverable, approach, resources.

  • Preparation of Test Cases:

The objective of writing test cases is to validate the testing coverage of the application.

Before preparing the test cases it’s very essential to have an idea on the application work flow. There is no assurance that the person who authored test cases will execute them.

So while preparing the test cases, ensure that they are simple, all the steps are in proper sequence, easy to understand so that it will be easy for the executioners to execute them.

  • Execution of Test Cases:

Execution is nothing but running the cases on the application.

The Test cases should be executed in the specified manner.

Executing the test cases is one of the important phases in Testing. If there is shortage of time to execute all the Test Cases, execute the High Priority test cases first & then if the time permits execute the remaining ones.

  • Preparation of test scripts:

Preparation of test scripts is very crucial in the Automation process.

If it’s necessary to automate the application, if organization accepts & if client is ready, on the requirement basis we can automate the application.

Scripts programming requires coding knowledge.

  • Preparation of Test Data:

Test Data is the data or the inputs given, which is used to test the application.

Test Data may be provided by the client or Testers have to prepare the Test Data or it can be taken from the database itself.

During the execution of test cases, we use the test data and test the application’s behavior on entering different Test Data.

  • Defect Tracking:

It is the process of finding defects in a product or in Software.

The defects found during the process of testing should be tracked and entered into Bug tracking tool for better maintenance.

  • Re-test fixed defects:

Once the development team fixes the bug, Tester’s have to retest the application or that particular functionality again to make sure that bug is fixed.

  • Attending Client Calls & Team Meetings:

If Tester has any issues regarding requirements, validations etc, they can directly interact with the client and can get them resolved.

Team meetings are very important because, they can know what’s going on within the team & how tasks are being done, what is the status of the application, any enhancements etc. Sharing ideas to develop the application with development team for better development.

  • Status Report:

In few organizations it is mandatory, to update status report daily.

It is a good practice to maintain Work Sheet.

During the time of reviews it will be very much useful & also we can make self analysis of the tasks that we have completed and tasks that are pending

  • Assist the team members:

If it’s necessary & if it’s possible assist your teammates, in order to complete their duties.

  • Be a Good Team Player:

This skill is very much important in every phase of Testing, whether you are a Tester or a Developer.

 

In Conclusion, the below are the roles and responsibilities of a software tester :

  • Reading all the documents and understand what needs to be tested.
  • Based on the information procured in the above step, decide how it is to be tested.
  • What all resources will be required for testing the software, Testers should Inform the test lead about that.
  • Prioritize testing activities & Develop test cases.
  • Execute all the test cases and define severity and priority for each defect while reporting defects.
  • When changes are made to the code to fix defects, regression testing is carried out every time.

 

In case of software testing, every company defines its own level of hierarchy, roles and responsibilities but on a broader level.

A Test Lead/ Test Manager is responsible for:

  • For testers or test engineers, Test Lead/ Test Manager Defines the testing activities
  • All responsibilities of test planning.
  • Checking when executing the testing activities, if the team has all the necessary resources.
  • Progress of testing activities are updated to project manager regular basis.
  • To check if testing is going hand in hand with the software development in all phases.
  • Interactions with the customers.
  • Prepare the status report of testing activities.

There you go ! Here is a brief idea about the role of a software tester that you find in general. It does vary a bit based on the company size as well as company culture but ideally it should be around the above. Let us know about your own experience by adding the comments below.


Comments 0

  • HERE IS WHAT YOU’LL RECEIVE

    • Get Articles on Upcoming Training, Seminars and Workshops1
    • Get Tips and Tricks for Resume, Coverletter and Interview Prepration
    • Latest Industry Updates
    • Your Details are safe with us
  • Other Training Courses

    JMeter is an open source Java application designed to load test, functional behavior and effective performance testing tool for QA. This course is designed for QA to familiarize with JMeter load test tool. The main focus is to practically use of…

    More

    Software Testing Intensive(STI) is designed to assist newcomers to join the software testing field and gain intermediate to advanced level software testing skills. The candidates will be able to manage to perform testing throughout the test life cycle. This course also helps the intermediate testers to gain the absolute confidence in software testing field in web as well as mobile application.

    More

    This course include includes an intensive workshop where you are learning all the mental barriers you need to avoid and the game plan you should be creating. You will also be practically doing and updating all the necessary marketing collateral for your job applications with confidence by using world class material and resources this course provides to all its students.

    More

    Automation Testing Intensive (ATI) is an advanced Selenium Automation Training which will allow candidates to understand how test automation is done in a proper structured manner so that candidates are able to create and manage the selenium automation scripts from scratch and be confident building test cases based on a solid framework.

    More

    Appium as a tool for mobile test automation is getting very popular in the market for mobile automation testing not only it is an open source but also is absolutely free for open discussions in communities to get quicker solutions.

    More

    Automation Testing Intensive (ATI) is an advanced Selenium Automation Training which will allow candidates to understand how test automation is done in a proper structured manner so that candidates are able to create and manage the selenium automation scripts from scratch and be confident building test cases based on a solid framework.

    More

    This course include includes an intensive workshop where you are learning all the mental barriers you need to avoid and the game plan you should be creating. You will also be practically doing and updating all the necessary marketing collateral for your job applications with confidence by using world class material and resources this course provides to all its students.

    More

    .Net Developer Advanced Training

    This course is about to gain understanding of advanced level knowledge of Microsoft .Net framework. It will cover advance development using ASP.NET, Data Binding and Web Configuration, C# Advance features, Web Service Implementation and many more advanced topics.

    More

    .Net Developer Training

    This course is about to gain understanding of current IT industry and prepare yourself for Microsoft .Net Developer Position. In this course, you will learn various Microsoft .Net tools and technologies. It will help you to build and deploy website from scratch using .Net framework. At the end of this course, you will be able to give web solutions using .Net technologies to the businesses, and able to attend interview for .Net developer position.

    More

    Advanced LinkedIn For Job Seekers

    Getting a professional job in Australia can be challenging for professionals looking to get started or changing their jobs or careers. Cultural barriers, lack of branding or promoting your profile makes it harder to present yourself well and get connected so that you can get the job you deserve.

    More

    Agile Testing Intensive (AgTI)

    Understanding of Fundamentals Software Testing

    More

    AJS1: AngularJS Development Level 1

    Automation Testing Intensive (ATI) is an advanced Selenium Automation Training which will allow candidates to understand how test automation is done in a proper structured manner so that candidates are able to create and manage the selenium automation scripts from scratch and be confident building test cases based on a solid framework.

    More

    AJS2: AngularJS Development Level 2

    Automation Testing Intensive (ATI) is an advanced Selenium Automation Training which will allow candidates to understand how test automation is done in a proper structured manner so that candidates are able to create and manage the selenium automation scripts from scratch and be confident building test cases based on a solid framework.

    More

    Automation Testing Intensive Level 2(ATI2)

    Automation Testing Intensive (ATI) is an advanced Selenium Automation Training which will allow candidates to understand how test automation is done in a proper structured manner so that candidates are able to create and manage the selenium automation scripts from scratch and be confident building test cases based on a solid framework.

    More

    Blockchain Fundamentals 101 Training

    The Blockchain Fundamentals 101 training course provides and excellent platform to learn the basics of the blockchain. This course is for the professionals who want to understand background of the development of the blockchain, what are the major players and the full ecosystem around blockchain. You’ll also learn various business use cases for the Blockchain and the industries using it.

    More

    Oracle Training

    The Oracle well known, widely used Database is an object-relational database management system produced by Oracle Corporation. This is the ideal course for any tech savvy programmer, DBA, SQA…

    More

    Ruby Scripting Training

    Ruby is a scripting language designed by Yukihiro Matsumoto, also known as Matz. It runs on a variety of platforms, such as Windows, Mac OS, and the various versions of UNIX. Ruby Scripting language is dynamic and object oriented. In a sense, it’s a purist’s language for those who love object-oriented languages. Everything, without exception, is automatically an object, whereas in other programming languages this isn’t true. It is simple enough for beginning programmers to use while also powerful enough for experienced programmers to have all the tools they’d need.

    More

    SQL for Testers Training

    If you are new to software testing or looking for a career change to become a software tester Understanding the relational data model behind an application enables you to design additional tests…

    More

    SQL Training

    SQL (Structured Query Language) is a programming language intended for managing data held in relational database management systems (RDBMS). SQL expertise are advantageous in a number of professions such as database developers, report writers, business analysts, computer programmers, web developers, testers and data analysts. SQL has a shorter learning curve compared to other skills like business analysis or computer programming or testing.

    More

    VB Scripting Training

    VB Script is a subset of Visual Basic 4.0 language. It was developed by Microsoft to provide more processing power to Web pages. VB Script can be used to write both server side and client side scripting.

    More

    Front End Web Development

    Front End Web Development (FED) is a training which will allow candidates to understand about HTML5, CSS3 and JavaScript, Ajax along with a few key frameworks such as Bootstrap and jQuery. This course also helps you work on creating your own basic application throughout the course.

    More

    FWD2: Frontend Web Development Level 2

    Automation Testing Intensive (ATI) is an advanced Selenium Automation Training which will allow candidates to understand how test automation is done in a proper structured manner so that candidates are able to create and manage the selenium automation scripts from scratch and be confident building test cases based on a solid framework.

    More

    Interview Like a Pro

    Getting a professional job in Australia can be challenging for professionals looking to get started or changing their jobs or careers. Cultural barriers, lack of branding or promoting your profile makes it harder to present yourself well and get connected so that you can get the job you deserve.

    More

    ISTQB Certification Training

    ISTQB foundation course allows you to learn from the very core fundamentals to advance level software testing concepts. The course is intended for anyone who is new to testing or has been in the testing and wants to learn more in details…

    More

    Java Development

    Skiva is a leading IT consulting firm based in Sydney, Australia. Our team of dedicated developers and experienced IT professionals allows us to develop every kind of software application required for improving and max imising the functionality of both new and existing websites. Our sole aim is to help you grow your business, by developing an informative and dynamic website that produces effective and profitable conversion rates for website traffic.

    More

    Java Fundamentals Training

    Fundamentals of Java is a very comprehensive yet simple course on java programming which concentrates on basic concepts of Java. This course is great because it covers just the right amount of Java which is needed for automation, but this course does not cover Selenium WebDriver or any other type of automation tool. Java is one of the most and useful programming languages to learn. You will get the best in class support from the instructor for any question you have related to the course.

    More

    LoadRunner Training

    One of the most crucial test tool to load test the application and measure the performance. Why to load test application, Is application scalable to withstand concurrent number of users? All such answers and application performance…

    More

    Mobile App Testing

    Mobile App testing consists of several of the same processes as other software testing. Application software which has been created, or enhanced for any portable devices, is checked to ensure that it is consistent in results, usable, and functions as it was intended to. Mobile applications may be factory installed or installed from a software distribution platform, while the growth of the number of mobile devices has been matched by the opportunities for new smartphone and other apps.

    More

    Mobile Test Automation With Appium

    Appium as a tool for mobile test automation is getting very popular in the market for mobile automation testing not only it is an open source but also is absolutely free for open discussions in communities to get quicker solutions.

    More

    Psychology & Mindset For Job Seekers

    Getting a professional job in Australia can be challenging for professionals looking to get started or changing their jobs or careers. Cultural barriers, lack of branding or promoting your profile makes it harder to present yourself well and get connected so that you can get the job you deserve.

    More

    QTP Test Automation Training

    QTP (Quick test professional) course series designed for beginner automation QA to advanced level QA for automation. This course covers all concepts and basics fundamental with complete in depth examples…

    More

    Rockstar Resume & Compelling Cover Letter That Sells

    Getting a professional job in Australia can be challenging for professionals looking to get started or changing their jobs or careers. Cultural barriers, lack of branding or promoting your profile makes it harder to present yourself well and get connected so that you can get the job you deserve.

    More

    Salary Negotiation to Probation and Promotion

    Getting a professional job in Australia can be challenging for professionals looking to get started or changing their jobs or careers. Cultural barriers, lack of branding or promoting your profile makes it harder to present yourself well and get connected so that you can get the job you deserve.

    More

    Software Testing Training Career Package

    Software Testing course allows you to learn from the very core fundamentals to advance level testing course which is intended for anyone who is new to testing or have been in the testing and want to learn more in details.

    More

    Ultimate Job Search Strategies To Find Hidden Job Market

    Getting a professional job in Australia can be challenging for professionals looking to get started or changing their jobs or careers. Cultural barriers, lack of branding or promoting your profile makes it harder to present yourself well and get connected so that you can get the job you deserve.

    More

    User Acceptance Testing

    User Acceptance Testing is normally the pre-production testing that is done by Users or probably the Product Owners in Agile terms.

    More