point
Suresh Menon

Principal Consultant

Digital Stream Consulting

Tips For Software Automation Testing

Software Testing are basically of two types Manual and Automated. Manual testing doesn’t involve any tools but relies on Test Approach, Test Plan and Test Cases we can use manual testing in testing complex logical scenarios in testing anERP, Web Application or a CRM. Automation testing are basically of 2 types Functional and Performance. Functional Testing is to test the functionality of the application with repeated scenarios or for regression testing. For Functional Automation testing approach and plan is very important before we directly start executing the test but before this the organization should select the best tool suitable for their organization based on the applications the organization is having, tool selection is best done by running the demo version of the tools on the various business scenarios of the software or ERP Concerned. Automation can help reduce time to market your company made software by allowing test execution 24x7. Once the test library is automated, execution is faster and run longer than manual testing.

When not to automate:-There are certain applications that are inherently unstable by design for example if you can’t control the application test environment and data, then automation will be almost be impossible. If the testers are not much experienced on the application then also we should avoid automation. Third point is that avoid too much scripting to test an application as it is futile to write a program to test a program. In the market today many user friendly functional testing tools are available for which the trial version can be downloaded and demonstrated to the Management but as a Testing Manager you should  evaluate different types of Tools available in the market to ultimately select the tool which is best suited for your organization. Automation is not just capture/replay but the depth of it lies much more beyond that , it involves the preparation of the automation plan with staffing requirements , Automation Approach and the identification of scenarios in the concerned application which you are going to automate. There can be certain test cases which we have to identify as suitable candidates for automation. Functional testing also relies heavily on creating the Framework design which involves creating shared object repository, any reusable components , writing a best practice guideline document and completing any supplementary activities to prepare a base for supporting components that will be utilized to prepare automation scripts.

There are 6 types of Performance Testing which are given below:

1) Load Testing:

Load Testing is type of performance testing to check system with constantly increasing the load on the system until the time load is reaches to its threshold value. HereIncreasing load means increasing number of concurrent users, transactions & check the behaviour of application under test.

Load testing is perform to make sure that what amount of load can be withstand the application under test.

2) Stress Testingis performance testing type to check the stability of software when hardware resources are not sufficient like CPU, memory, disk space etc.

 

3) Spike testing:

Spike testing is subset of Stress Testing. A spike test is carried out to validate the performance characteristics when the system under test subjected to workload models and load volumes that repeatedly increase beyond anticipated production operations for short periods of time.

4) Endurance testing:

Endurance testing is a non-functional type of testing. Endurance testing involves testing a system with an expected amount of load over a long period of time to find the behaviour of system. Let’s take an example where system is designed to work for 3 hrs.Of time but same system endure for 6 hrs. of time to check the staying power of system. Most commonly test cases are executed to check the behaviour of system like memory leaks or system fails or random behaviour. Sometimes endurance testing is also referred as Soak testing.

5)Scalability Testing:

Scalability Testing is type of non-functional tests and it is the testing of a software application for determine its capability to scale up in terms of any of its non-functional capability like the user load supported, the number of transactions, the data volume etc. The main aim if this testing is to understand at what peak the system prevent more scaling.

6) Volume testing:

Volume testing is non-functional testing which refers to testing a software application with a large amount of data to be processed to check the efficiency of the application. The main goal of this testing is to monitor the performance of application under varying database volumes.

Performance Testing Process:

  • Identify Test Environment
  • Identify performance acceptance criteria
  • Plan and design test
  • Configure Test environment
  • Implement test design(Create bench mark and SLA’s)
  • Execute tests
  • Analyse results, report and retest

To know more about usage of performance testing tools please refer to my article titled as “Dexterity of Performance Testing”.

For Comments and queries the author Suresh Menon who has 22 years of experience in the IT industry can be contacted at testconsultants@outlook.com