What is the Test development process? What are key steps?

The Test development process is the part of SDLC with strategy, methodology, frameworks and tools, etc. to be applied in the product testing.

The below are the key steps involved in the process.

First is to understand the component/module or integration of the product functionality expected behavior. It means that one should go through the use cases/user stories/features and discuss with developers for any clarifications. For this, use functional specification or JIRA tickets for user stories or tasks.

Second is to think and brainstorm with the team about all test scenarios for a particular use case. That means to create the exact sequence of steps to be performed for each use case as if like testing manually. Put of those scenarios incrementally in the Test Spec (TS) based on agile process or waterfall SDLC process.

The Third is to execute the tests manually and file bugs if any deviation from the expected behavior. In summary, for all test scenarios (based on priority) from TS

  • Run it manually if possible (example: going through web pages navigation/flow)
  • Write the test code/test script
    • Typically, it is done in the same language that code has been developed, like for java project is java based test code.

Fourth is to create a Test Development Framework, which is a set of utilities/tools to help in the following tasks:

  • Execution engine/driver to trigger test cases runtime/execution. Otherwise one has to run manually, say using simple java command line.
  • Supply input data as properties or CSV or other data files. Otherwise, one has to run manual supplying of arguments.
  • Generate Result/Report document (say HTML or XML). Otherwise, one has to look at the console for results.

Fifth is to select or create a custom Test Tool/Driver

  • Identify and select an open source/free/commercial right tool that helps in the testing or automation of tests. For example, Selenium for web site test automation or SoapUI tool for web services testing.

Six is to design and implement a Reporting mechanism

  • Design the final reports like TestNG or any customer HTML reports with basic system under test details, number of tests executed, tests passed, tests failed, tests skipped, etc.

Seventh is to setup SUT (System Under Test)

Eighth is to run test scenarios manually and file bugs if any.

Ninth is to automate the tests for regression testing.

  • Create the test scripts/test code along with a base build framework (as dev used in their builds) like Ant or Maven or Gradle build tools.
  • Review the test code with team (peers/dev).
  • Check-in the scripts/code into SCM repository (say git and along with product code).

Finally, perform regression testing

  • Execute the automated tests build by the build of the product.
  • Schedule automated execution jobs using tools such as Jenkins/Hudson CI.
  • Send the daily test result reports
  • Analyze the failures
  • File regression bugs
  • Verify and close bugs
Advertisements

Author: Jagadesh Babu Munta

Jagadesh Babu Munta is working as a Consulting Member of Technical Staff with Oracle America Inc. He has been with Oracle and Sun Microsystems together for over 16 years (since June 2000) in USA. Jagadesh has overall 20+ years of Software development and quality/testing experience. Jagadesh's experience has been filled recently with Cloud PaaS services, Multi-Tenancy, Security and Penetration testing. In the past, he extensively worked on Java EE servers like SailFin/GlassFish/Sun Java System/iPlanet/Netscape Application Servers. Jagadesh has gained extensive expertise in software automation, designing frameworks, writing tools, scripts, creating tests, writing specs/plans, etc. Jagadesh is interested in developing and testing complex software useful to up-level the humanity. Jagadesh Munta holds M.S. in Software Engineering from San Jose State University, California, USA; B.Tech. in Computer Science and Engineering from J.N.T.U., Hyderabad, India; Special Diploma in Electronics with Specialization in Computer Engineering, G.I.O.E, Secunderabad, India. Jagadesh Munta was born in Nellore, AP., India and lives with family in Fremont, California, USA.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s