Sunday, July 17, 2022

Test Automation Strategy

 Hi folks,

Below is details on Test Automation Strategy.

Test Automation Strategy phases.

  1. Plan
  2. Analyse
  3. Build
  4. Test
  5. Maintenance
Test automation strategy is vary for below types.
1. Agile projects
2. Waterfall Projects

Approach is vary for different nature of application
  • Mobile automation project
  • Window application project
  • Web application projects
  • Database projects
  • Salesforce /Pega projects
Test Strategy includes
  • Overview
  • Scope of project by feature/ platform
  • Descope requirements
  • Test environment details
  • Test data details
  • Scope of testing - System, SIT, E2E,Regression, Smoke, Sanity
  • Scope of automation layers - UI, APIs, Database, Mobile app
  • Entry and exit criteria
  • RAIDs
  • Roles and responsibilities

Cheers,
TJ

Mobile Device Testing Selection Strategy

 Hi Folks,

Following is the criteria should consider for device selection for your mobile projects.

1. Mobile device market usage analysis for customers

2. Operating system coverage including latest and latest minus one

3 Type of devices for resolutions- phones, tablets , ipads

4. Physical real devices or cloud devices

5. Mobile network supports


Cheers,

TJ

Mobile Automation Testing

 

  1. technical criteria you will consider while selecting a test automation tool For mobile application testing
  • Multiple platform support.
  • Application under test.
  • Script Usability.
  • Jailbreak Requirement.
  • Source Code Changes.
  • Lead time for new OS version
  1. List out the types of mobile app testing
  • Usability Testing
  • Compatibility Testing
  • Interface Testing
  • Services Testing
  • Low-level resource Testing
  • Performance Testing
  • Operational Testing
  • Installation Testing
  • Security Testing
  1. common challenges in mobile application testing faced by most testers
  • Executing test cases with various operating systems
  • Testing application’s functionalities on a wide range of handsets
  • Screen size fragmentation
  • Testing applications on different mobile networks
  • Different application types (native, hybrid or web app) require different ways to test
  • The choice of the right mobile testing tool for QA team

4.      the strategy used to test a new mobile app? Which types of testing should be included

  • Here are some of the essential points:
  • Selection of the devices – Understanding the market’s demand and the commonly used devices will be highly recommended before choosing the set of testing devices. (This choice could be dependent on the stakeholders or the app builders’ consideration)
  • Utilizing emulators – The use of emulators is useful, especially in the initial stages of development, since they allow quick checking of the app. It is a system that runs software from one environment to another environment without changing the software itself. It also duplicates the features and works on the real system.
  • Types of testing:
    As for testing a new mobile application, several types of tests should be involved in order to ensure the app works as expected. Therefore, the strategy is all tied into these following types of testing:
  • Functional testing
  • System integration testing
  • Installation and uninstallation of the application
  • HTML control testing
  • Performance testing
  • Testing multiple mobile OS
  • Cross-browser and cross-device testing
  • Gateway testing
  • Network and battery testing
  1. difference between simulators and emulators?

Both Emulators and Simulators are virtual devices that are not the real phone but have the same functionality as real handsets. The following table shows the significant difference between a simulator and an emulator:

Simulator 

Emulator

Objective

To simulate the internal behavior of the device, not mimic hardware

To emulate or mimic both hardware and software features

Internal structure

Written in a high-level language

Written in machine-level assembly language

Debugging capability

Can be problematic in terms of debugging purpose

More suitable for debugging purpose

6.      Full form of various application extensions.

  • iPA: iOS APP Store Package
  • APK: Android Application Package file
  • exe: Executable File
  • jad: Java Application Descriptor
  • prc: Palm Resource Compiler
  1. Appium abilities are:
  • Test Web
  • Provides cross-platform for Native and Hybrid mobile automation
  • Support JSON wire protocol
  • It does not require recompilation of App
  • Support automation test on a physical device as well as simulator or emulator both
  • It has no dependency on a mobile device

8.      Limitations Of Using Appium?

a.      Appium doesn’t support testing of android version 4 and below

b.      Limited support of hybrid app testing

c.       No support to run Appium inspector on Microsoft windows

d.      Parallel test execution on mac require multiple machines

9.      Need A Server Machine To Run Tests On Appium

No! Appium promotes a 2-tier architecture where a test machine connects to a test server running Appium and automating the whole thing. However this configuration is not mandatory, you can have Appium running on the same machine where your test runs. Instead of connecting to a remote host, your test will connect to Appium using the loopback address

Citrix Automation using RPA

 Citrix Automation

Two approach: Inside Citrix and Outside Citrix

1. Outside citrix

              > remote access

              >keyboard stroke

              >automation timeline more due to latency, network , screen resolution issues

2. Inside citrix

              > bot runs even network lost

              >automation timeline reduce

              >use high resolution machine, handle latency issue through scripts

             

Purpose of citrix automation

              citrix receiver use to connect citrix application

              inside citrix-all feature available

              outside citrix - keystroke,image recoginition and ocr

                             allow to select activate and differentiate between diff windows

         

           

 list prerequisit of citrix automation

              citirx receiver configure to your machine

              >credentials- user name, pwd, domain and citrix host/server ip name

              >citirx license -enabled product

              >port 1494 open for communication

              

if citirx receiver must be pre-installed- if AA enterprise is already configure you will have to re-install after install citirx receiver

              

Two components of citrix automation

              1. session manager-   help to connect to new or existing citirx session

              2. citirx automation viewer -   provide intuitive interface, allows to record various action as and when it is perfromed, allows to edit the actions without exiting the viewer

             

             

Dev-Ops concepts

 DevOps

approach aims to synergize the efforts of the development and operations teams to accelerate the delivery of software products, with a minimal failure rate. Include how DevOps is a value-added practice, where development and operations engineers join hands throughout the product or service lifecycle, right from the design stage to the point of deployment


the different phases in DevOps?

The various phases of the DevOps lifecycle are as follows:

·       Plan - Initially, there should be a plan for the type of application that needs to be developed. Getting a rough picture of the development process is always a good idea.

·       Code - The application is coded as per the end-user requirements. 

·       Build - Build the application by integrating various codes formed in the previous steps.

·       Test - This is the most crucial step of the application development. Test the application and rebuild, if necessary.

·       Integrate - Multiple codes from different programmers are integrated into one.

·       Deploy - Code is deployed into a cloud environment for further usage. It is ensured that any new changes do not affect the functioning of a high traffic website.

·       Operate - Operations are performed on the code if required.

·       Monitor - Application performance is monitored. Changes are made to meet the end-user requirements.

Mention some of the core benefits of DevOps.

The core benefits of DevOps are as follows:

Technical benefits

·       Continuous software delivery

·       Less complex problems to manage

·       Early detection and faster correction of defects

Business benefits

·       Faster delivery of features

·       Stable operating environments

·       Improved communication and collaboration between the teams

three important DevOps KPIs.

The three important KPIs are as follows:

·       Meantime to failure recovery - This is the average time taken to recover from a failure.

·       Deployment frequency - The frequency in which the deployment occurs. 

·       Percentage of failed deployments - The number of times the deployment fails.

 

Headless Browser Testing

 Headless Browser

a headless browser is a browser which doesn’t have a GUI. Headless browser is used to simulate programs even though there is no browser installed on your local system. You couldn’t see any browser in your system but you will get the same result in your console. Headless browser doesn’t have GUI means it’s just that it doesn’t have any GUI but the program runs in the background.

Headless browser testing using Selenium WebDriver is done to test the application without any visual interruption.

Two widely used headless drivers with practical examples.

  1. HtmlUnitDriver  WebDriver driver = new HtmlUnitDriver()
  2. PhantomJSDriver- WebDriver driver = new PhantomJSDriver ();

Advantages of Performing Headless Browser Testing In Selenium

  1. It’s faster. The performance is better compared to browser automation. Automated testing is to automate a browser to ensure that the application is running as expected. Running regression scripts take lots of time. With headless browsers, we could save time.
  2. It enables you to run the scripts on a system which doesn’t have a browser.
  3. Imagine you have a situation to run some tests on a version of google chrome and there is no such version of google chrome on your local system. In this case, you could use the headless browser, most of the headless browsers support browser versions.

Disadvantages of Headless Browsers Testing:

  1. Debugging is a bit difficult using headless browsers. Here browser is not visible, the only way is to capture a screenshot.