Friday, October 10, 2014

Automation Setup

Automation Setup

Create the automation setup as development environment and execution environment. Development environment should support the automation script development. Install the testing tool and supporting packages, IDE or any UI to develop the script. If the testing tool is commercial, then collect the list of softwares and packages. Follow the instructions given by the commercial tool provider. Plan the development setup properly and keep the scripts in version control.

Test execution setup

Execution setup requires the test scripts which is developed and reviewed as per business needs. Then the application to be tested. To run the automation scripts correctly and successfully, AUT (Application Under Test) should be separate from other testing environment. Which will help to avoid failures in test automation. AUT has to be installed with default data, configuration. Lets say automation is looking for user1 as supervisor but the user not available in the database, then automation will fail. Also all user configuration and rights remains same in all the versions.

Automation scripts always look for the data feeded in the script. If any of the data is mismatched, then the automation test will fail. Have to check the internet connectivity and make sure there will not be any interruption.

Review the setup for every release and make sure it is ready to execute for every release. Notification for test report should be configured and always shared with team. 

Wednesday, October 8, 2014

Automation Testing Process

Automation Testing Process

Automation testing process contains the following stages
  • Understanding the application under test
  • List out the requirements for automation testing
  • Plan for automation setup and implement the same once get approval
  • Plan for the framework development and implement
  • Share the knowledge with team members
  • Develop the test scripts
  • Review the test script
  • Move the approved test scripts to execution environment
  • Do the test execution once the application is ready for testing and latest version is available for testing
  • Analyze the report and logs
  • Create the tickets for the defects after discussing with team. Make sure there is no change request.
  • Create the test report and submit to manager.
Once this setup is ready for version 1 of the application. Then keep adding the test script for each and every release new functionality. If any changes in the process, identify and change it from the beginning of the development.

Identify the testcases to be automated


Identify the testcases
Once the development is started, decide the area of the application for automation testing and manual testing.  
  1. Automation Testing

  • Identify the modules where human error may occur in manual testing
  • Identify the area which  is common and not changed often
  • Identify the business flow which is to be tested often and time consuming
  • Identify the are where large number of data required for testing (Ex: Any calculations)

    2. Manual Testing

  • Newly developed functionality
  • UI changes
  • Change of requirement related testing
  • Identify the area which can be tested in less time
Once the area for automation is identified, then develop the testcase step by step. Also develop the testdata. Share the testcases with automation script development team after the manager approval.

Monday, October 6, 2014

Explanation of testing process

Analyze the requirement and understand the business
Once the project is finalized and product description documentation are in completion stage, development environment ready and developments starting stage, then get the approved product description document and knowledge transfer from business analyst. Testing should be planned well in this stage.
Define the process and create the team functionality diagram
Once the product description document is ready and knowledge is transferred to testing team. Then define the process lets divide like

Preparing test case documents
At this stage, all functionalities, work flow, Logic, Positive and negative testcases to be discussed and documented. Keeping testcases in testcase management software would be good. Testcases should cover all positive and negative testcases in all level like boundary value, bottom up, etc. Testcase matrix should be prepared and discussed in clear way. Once the testcase document is ready, it should go for manager approval. When writing the testcase, start listing the test data required to run the particular test.
Technical automation testing setup
Have to install the separate application under test with default or testing support data. When having the separate application for automation testing, the configuration would be default or defined static for automation testing. Install and configure the testing tool and keep it ready for test execution. There is two part in automation testing setup. Test case development setup and execution setup. Once the testscript is developed and approved. It should moved to test execution environment.


Define the automation setup and document how it works. What are all the software, tools required in script development environment. Where we are maintaining the script development setup. Whether it is developed in one site and from many sites. Where the application server, database and related software installed. What are all the technologies involved in the application front end. These kind of information should be documented and the setup diagram and working functionality clearly draw. 

Get started with software testing

Steps to start software testing

1.       Analyze the requirement and understand the business
2.       Define the process and create the team functionality diagram
3.       Prepare the testcase documents
3.1.    List out the functionalities, logic, business flow
3.2.    Create the matrix for work flow
3.3.    Define the structure for testcase name and Id
3.4.    Keep writing the testcases
3.5.    Monitor the progress of process
4.       Technical automation testing setup
4.1.    List out the technologies used in application development
4.2.    List the tools and supporting packages required for automation testing
4.3.    Define the automation setup and define how it works
5.       Test script development
5.1.    Understanding the application
5.2.    List out the challenges in automating application
5.3.    Creating the testcase document for smoke testing and regression testing
5.4.    Reviewing the document and prioritizing the testcases
5.5.    Creating the test script development plan
Documenting the issues which is faced in test script development process
5.6.    Monitoring the development process
5.7.    Reviewing the test script and make sure the script is developed as per business need and ready to execute for the upcoming release
6.       Testcases execution and monitoring
6.1.    Identify the system and connectivity where to execute the testcases
6.2.    Assign the dedicated application for automation testing execution
6.2.1.  Confirm that the latest build is applied
6.2.2.  Confirm the minimum default data is available in the application
6.2.3.  Confirm the configuration for the users are default and not changed
6.3.    Decide the scenarios to be executed and execute the same
6.4.    Monitor the automation test execution and make sure that test was completed as expected
6.5.    Analyze the test failures, defects and test log
7.       Challenges in script maintenance and script updates
7.1.    List the changes in the application for every release
7.1.1.  Business logic changes
7.1.2.  UI changes
7.1.3.  Improvements added in the existing features
7.1.4.  Updating the libraries in the front end
7.1.5.  Changes in the default data
7.1.6.  Changes in the database tables (Not mandatory)
7.2.    Decide the changes and updates in the script according to the application changes
7.3.    Get approval and update the script and make it run
8.       Defect logging and follow up
8.1.    Create the tickets in bug management system
8.2.    Retest the bug once it is fixed and available
8.3.    Mark the ticket as it is required to be automated or not
9.       Manual testing
9.1.    Planning for manual testing which shows what to be tested and who is doing what and when.
9.2.    Decide first whether the build is suitable to continue the manual testing. If not ready, send back to development team.
9.3.    Functional testing
9.4.    Integration testing
9.5.    UI testing
9.6.    Usability testing
9.7.    Defect logging
9.8.    Report preparation
10.   Quality analysis
10.1.What are all the functionality developed or added or improved or changed
10.2.How much test covered in manual testing and automation testing and make sure all part of the application is tested
10.3.How many bugs founded and created
10.4.What is the quality of bugs
10.4.1.     Functional bugs
10.4.2.     UI bugs
10.4.3.     Data related bugs
10.4.4.     Application technology related issues or crashes
10.4.5.     Configuration related bugs
10.4.6.     Setup related bugs
10.5.Number of testcases executed in manual testing and number of testcases executed in automation testing
10.6.Number of bugs found in manual testing and number of bugs found by automation testing
10.7.Severity of the bugs
10.8.List the bugs which is important to fix it in same release
11.   Testing report
11.1.1.    Create the testing report with testing coverage
11.1.2.    Number of defects found
11.1.3.    Conclusion of build whether it is ready to deliver or not

12.   Other testing
12.1.1.    Performance testing
12.1.1.1.           Load testing
12.1.1.2.           Stress testing
12.1.2.    Security testing
12.1.3.    Compatibility testing

12.1.4.    Database testing