• info@helpingtesters.com
  • helpingtesters

How to perform Software Testing? Explained with an Example 

August 18, 2016
software testing, software testing tutorial, perform software test

Software Testing is an endless process which performs continuously throughout the development cycle of the product. At the time of designing SDLC, the test lead should decide when to start and stop testing. The test plan designed after Requirement Analysis and Design, will schedule the tasks for each tester in the group and set deadlines for every task assigned.

 Test Plan decides the coverage of code, bug rates, the percentage of test cases to be passed and  the budget for testing. These are the factors should be considered at each stage of testing and  determine whether the testing process is to be stopped or not.

The software testing process is a continuous process which needs several test cycles to perform its best. So the initial phase analysis and document preparations are very important while designing STLC. Here, consider the Software Testing process of an Inventory Management Application.This paper covers the purpose of an inventory management application and how the testing process is designed and executed for the performance evaluation and quality control of the application.

Testing an Inventory Management Application

The testing process of a Web Based  Inventory management Software is explained below to understand the steps to perform Testing. An Inventory Management Software, in practical thought, is an application for large organizations or enterprises to manage their business from anywhere in the world by integrating the modules like the request for quotes, order processing, stock management, tax calculation and sales.  

Why need an Inventory Management Application

One of the important aspect to be considered for the best performance of the inventory control of a company is by allowing the retailers to maintain absolute link over sales and inventory, and hence it is a perfect solution for both sales counter and the direct order processing. The Inventory Management Software contain the modules as below: 

  • Master Modules
    • Manage Supplier Details
    • Manage Products 
    • Manage Units 
    • Manage Tax Types  
    • Manage Branches.
  • Process Modules 
    • Purchase Order Management 
    • Product Order Management 
    • Stock Management 
    • Invoice Management  
    • Sales Management 
    • Item/Vendor Data Maintenance 
    • Reports  

This is the general concept of Inventory Management Application modules and these may vary according to the client’s requirements. 

Inventory Application Software Testing Process 

As per the requirements for software testing, there should be 2 or more teams for Managing Testing of the Software/Application. In this case of Inventory Management testing, there are two different group of testers.

  • Core Testing Team: The core testing team test the ERP software for all the static functionalities. 
  • Implementation Testing TeamThe implementation software testing team test the dynamic and customized functionalities. 

Once the test criteria designed, the Test Lead will create a Test Plan and schedule the plan to small teams of testers. According to the Test Plan created there should initiate a number of  Checklists for the software testing process. These checklists are based on the SDLC documents prepared and the discussion sessions carried out for the  Requirement Specification Analysis. Eventually, the start and stop of the testing process will be determined by evaluating the checklists created. 

Checklist 1: For evaluating the complete testing process 

  • Identify the scope of testing.Prepare the test plan for the base product(the static functionalities, White Box testing). 
  • Prepare the test plan for the implementation project(based on the Requirement Specification documents decide the Black Box testing, the customized/dynamic functionalities).
  • Identify the total modules available in the product ready to release. 
  • Identify the target users, enterprises, and industries of the product to implemented. 
  • Estimate the software testing process. 
  • Prepare the test plan, test cases, test execution and test reports basic structure and double check with the SRS.
  • Estimate the software testing effort.
  • Test the execution plans for the application under testing.
  • Identify the requirements of manual and automation testing in each testing phase. 
  • Analyze the availability of the testing frameworks for both manual and automation.
  • Check the existing software testing tool and configure the tool and test the framework for execution 
  • Setup the quality assurance strategy.Identify the quality metrics for ERP testing for both manual and automation. 
  • Identify the process of collecting test data for both input and output. 
  • Ensure the availability of a domain expert for the evaluation of the output data. 

Checklist 2 

This checklist depends on the modules available and the process/functionalities perform in the application.The test cases are prepared and executed on the basis of this checklist. 

  • Configure Registration(user account,user types) and Basic settings. 
  • Configure all the unique keys such as serial numbers, Item number, productid, tax id, invoice no, barcode etc.. 
  • Configure  Item categories and subcategories and tracking the details of each item. 
  • Configure unit of measurements and the links connected to items from unit details (unit tables, item tables) 
  • Configure the unit conversion methods based on the item type. 
  • Configure all the basic features of the items entered( Date of manufacturing, Date of Expiry, The smallest unit type, price etc… )
  • Configure the base price and price settings of items. 
  • Configure the tax settings and calculation. 
  • Search product availability 
  • Manage   the Purchase order details(PO entry, edit, calculations in each purchase etc..) 
  • Manage the Stock Details(check for stock master details and evaluate the calculations after each purchase.) 
  • Check for Stock transfer details. Depends on the branches available. 
  • Check for the Invoice entry, Manage invoice and check how it maps to the sales. 
  • Check for the Sales Orders Management. 
  • Check for the vendor management. 
  • Check sales return and availability of the stock in each process. 
  • Stock update after every purchase and check for any mismatch in the unit setting of the product based on the stock values. 
  • Unit conversion checks for all type of items. 
  • Approve/Reject  Stock Adjustments requests.
  • Manage GRN and PO numbers [Check for duplicates] 
  • Check for all the auto-generated values, ensure never allow duplicate entries. 
  • Evaluate Autofill data by selecting unique keys. 
  • Reports on the daily/weekly/monthly opening and closing balances.
  • Report on item details based on categories.
  • Report on PO Entries based on date, PO number etc.. 
  • Report on stock values with cost and filters. 
  • Report between invoice and GRN 
  • Report on stock transfer details 
  • Report between GR Number and PO 
  • Report on Stock adjustments 
  • Report on Goods Damage  

These are the basic functionalities which should be performed while software testing the inventory management application explained above. The test cases are developed and executed on the basis of the checklists created. The team members are responsible for creating the test cases for certain modules. These test cases development remains on the basis of the SRS prepared.

And the test case documentation is prepared either in MS-EXCEL or in MS-WORD as per the company standards. Here are some examples of the test cases and the test case documentation. Let us consider login page for Inventory Management Application 

loginPage

Test Scenario

Validate the Login Functionality. Consider the type of Users as Admin, Employee, User
Here 3 test conditions are to considered.

  • Login Successful 
  • Login Unsuccessful-Username incorrect 
  • Login Unsuccessful-Password incorrect 

Each test case should analyze to determine how a particular condition is satisfied or not. If the condition is satisfied the Test Status is Passed, Else Failed. An excel sheet is prepared to explain the test case status and conditions for software testing.This is the test case documentation

TestCaseDocumentation

Also, the cases in which complex business logic implemented, some methods for test optimization have to be used for the test case creation. The test preparation phase ends up with the completion of  Test Design Phase created at the Software Testing Life Cycle[STLC].After this section, the Test execution Phase starts. 

Test Execution Phase 

Once the process of test case preparation is completed, test cases are evaluated by the Business Analysts and the  Development Team. Testers accept suggestions for necessary changes and check any missing links in the requirement specification analysis document. The  test execution guidelines are  given below: 

  • Building The Application: The code developed by the development team should be deployed to the QA environment. 
  • QA Environment: For the test execution purpose an environment is to be created without affecting coding. So there are 3 environments identical in nature without affecting each other.
    • Development Environment
    • QA Environment
    • Production Environment.

This helps the integrity of the application in various stages of the SDLC. 

  • Two or more Cycles for the Test Execution: The first cycle identifies the performance of the basic functionalities, the critical defects, broken links etc..Second cycle identifies the gaps in the script execution, the function call in multiple times, disc space usage, DB value replication etc…And also more cycles to be performed for the clarification and final decision of the error reporting. 
  • The Report Generation: The output for the test execution is generated as defect report and test execution status report. 

The situation like expected results are not met and the unexpected behavior during the execution should be noted down and reported properly.Also, should ensure that these defects are fixed in the earliest. 

The Exit Criteria 

This is the phase where we ensure whether it is time to wind up software testing. The checklists created for before the test execution will be checked and determine whether all the steps are completed or not.And decide whether one more cycle of software testing is required or not.These can be determined by the collection of Test Matrices and Test Completion Report 

Test Matrices 

The test matrices are the intelligent figures that represent the execution status.
The commonly collected test matrices are: 

  • Pass Percentage 
  • Defects Density 
  • Critical defects Percentage 

These reports help to determine the quality and performance of the product developed.The reports are shared with the Development Team, Business Analysts and the Project Manager for the validation purposes.

Test  Completion  Report

After completing all the step by step execution process and evaluation of the test matrices prepared the testing team should inform the authorized persons through email that the software testing process as per the scheduled checklist is completed.And hence the QA Team has signed off from the testing process of the assigned project. 

Conclusion 

So, the testers can stop software testing when the application meets the completion criteria. The completion criteria can be determined by comparing the test reports with the documents and the checklists prepared. Consider the test coverage, deadlines for release and testing, the percentage of test cases passed and of course the budget.

About the author

Meera Sandeep author

Leave a Reply

Your email address will not be published.