Tuesday, September 13, 2022

Cloud Testing

Hi folks,

Few things on cloud testing

 Cloud testing type

  • System testing
  • Interoperability testing – infrastructure
  • Performance
  • Availability
  • Multi tenancy- security
  • Disaster recover

 

Cloud testing key objectives

  • Ensure excellence of cloud based applications
  • Authenticate software as service in cloud environments
  • Verify automatic cloud based functional service
  • Analyze inter operation capabilities and compitability

 

Consideration for cloud based testing APIs

  • Data security and privacy
  • Data migration
  • Interface compitability
  • Enterprise application integration

 

Cloud Test environment types

  • Cloud based enterprise test environment
  • Private/public test environment
  • Hybrid cloud test environment

 

Challenges of cloud testing

  • Lack of environment control
  • Lack of transparency
  • Query limitation
  • Self modification and autonomic behavior
  • Asynchronous interaction
  • Time and load dependent behavior
  • Huge configuration space
  • Ultra large scale
  • Low observity

 

Challenge SAAS with dummy data

Place holder of simultate the real data with no impact

  • Simulate behavior of real data
  • Can be quickly created to test API
  • Allow developer to focus on test

Role of dummy data in test API

  • Nominally occupy space of real data
  • Act as stub to avoid api testing issue
  • Data for security testing

 

Cloud testing benefits

  • Flexible, comprehensive and indicative testing
  • Reduce cost of ownership
  • Promote green IT
  • Geographic transparency and traceability

 

Cloud testing strategy

  • Stress- testing till breaking point
  • Performance- measure response time
  • Functional
  • Latency
  • Security 
  • Capacity testing= max capacity for current future hardware
  • Governance risk compliance test
  • Load- system stability

 

Service model as Test as a servie (TAAS)

  • Taas process management
  • Access TAAS  service
  • On demand test environment
  • Service option
  • Service provisioning
  • Service execution

 

TAAS benefit

  • Reduce cycle time
  • Reduce business risk
  • Improve agility with highly automated solutions
  • Helps leverage transactional pricing model for predictable and affordable solutions

 

TAAS provider- IBM, SOASTA, sauselab,skytap,vmlogics,

Code Review Checklist

 Hi Folks,

Follow below code review checklist

Sr. No    Checklist Item   Category

1            Use Meaningful Names and camelcaseletters for variables and method names Readability

2            Add Proper Comments for your Code     Readabilty/Maintanance

3            Avoid Duplication of variables and methods        Reusability

4            Donot write in single line             Readability

5            Avoid creating unnecessary objects         Performance

6            Remove Unwanted Imports        Standards

7            Make sure the code formatting is applied            Standards

8            Make sure the code meets the functional requirements              Functionality

9            Check side effects on existing codes if any modification in script              Functionality

10          Make sure to do clean up for unwanted code      Standards

11          Limit the accessibility of packages,classesand methods only to necessary places             Accessiblity

12          Donot expose confidential Data in logs   Security

13          Make sure the exceptions are handled   Exceptions

14          Avoid excessive logs       Standards

15          Avoid Multiple If cases   Performance

16          Try using dynamnic waits (Avoid Thread sleeps) Performance

17          Avoid Hardcoded values in code Security

18          Free up space/Memory after use             Performance

19          Minimize the scope of local variables      Accessiblity

20          Exceptions should be Throwable              Exceptions

21          In every catch statement – call the UI reusable library function and catch block should not be empty              Reusability

22          Try to avoid use of mobile center in condition     Standards

23          use appropriate hard assert for the mandatory validation               Standards

24          Assertion should be use outside the try catch block and in case needed to use in try block than Catch(AssertionError e) should handle correctly             Standards

25          Xpath: There should not be any platform specific xpath hardcode in the code/pageclass        Standards

26          Xpath should not be directly written in methods .Write only in Page factory  Readabilty/Maintanance

27          Xpath- use only absolute xpaths Standards

28          xpath- do not use ID in xpaths    Standards

29          xpath- use dynemic index instead of hardcoding in xpath              Standards

30          There should be no test data pass through any of the property files              Security

31          Any test data input should be from Excel              Security

32          Nowhere Environment details should be hardcoded for any kind of validation           Security

33          Always use the 3/2 argument Assert statement for code readability point of view (expected/actual/description of validation)              Readability

34          Device type should handle via object repository only. Device type should not written in class files  Maintanence

35          All public method should be on top of the class and all private method should be below it          Readability

36          There is no hard of validation message in page classes, it should be in validation message file            Reusability

37          All feature file should have tag with particular UB number              Standards

38          Reporting- all the necessary validation should be part of reporting along with screenshots  Standards

39          Reporting- all the reporting verbage should be proper along with appended test data for validation for actual vs expected Standards

40          Reporting-Use reusable reporting function for screenshot, allure and extent reporting      Readability

41          Reporting- Keep only screenshot option to Yes, if needed else switch of the function    Performance

42          Reporting- Take screenshot of entire page at least once during the validation journey           Readability


Friday, August 26, 2022

Drivers for tool selection

 Drivers for tool selection

1.lower opex

2. Faster payback/break even

3. Faster script build

4. Faster script run -execution and maintenance 

5. Most technology supported

6. Better % automation

7. Easier to skill

8. Faster to scale

9. Easier end to end automation

10. No manual script creation

11. Industrialisation of testing




Digital Transformation Benefits

 Benefits of digital transformation

1. Cost reduction

2. Improve worker productivity 

3. Improve customer experience 

4. Regulatory compliance 

5. Accelerate digital business transformation 


Cheers

TJ

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