Skip to main content

QA and Testers learning path for Cloud - Microsoft Azure version

As you already know, the cloud is already a commodity and is part of the most software solutions available on the market nowadays. Nevertheless, if you do quality assurance or testing activities on cloud application, you have a lot of challenges. 

QA and Testers are ignored by cloud
The expectation from the marker is to have people on these roles that know how to test applications and to run different procedures to ensure that the systems run as expected. You might say that testing an application that is running inside the cloud is the same as on-premises. It might be similar but not the same. Things like:
  • Logs locations
  • Metrics repositories
  • New interaction with storages
  • Access to resources
  • A point in time restore
  • Mechanisms to run different tests (e.g., DDoS attack)
  • Security
  • ... and many more
are different.
Personally, I would even say that from the cloud point of view, quality assurance (QA) and testers are left behind and ignored. 

If we take a look at the learning paths or certifications available today (July 2020) on all main public cloud providers, you will see that there is nothing for them. 
We have a lot of materials, content, and certifications for developers, automation, architecture, infrastructure, data, AI/ML, but nothing for them. This is applicable not only from the cloud providers but also from the online training platforms. 

Part of my job is to support building continuous cloud capabilities across all phases of SDP (Software Development Process). It is frustrating to not be able to support QA and testers, and because of this, I decided to define a curriculum and a learning path for them.
Below I tried to cover the following 3 items from Microsoft Azure point of view:
  1. Curriculum
  2. Learning Path
  3. Useful Azure Certifications
Curriculum
Taking into account the daily activities that a QA and testers need to do when he works on cloud projects, I identified the following topics that are required:
  • Fundamental knowledge of Azure (similar with AZ-900 curricula)
    • Focus on core concepts and how to access Azure resources
    • Ignoring specific development content 
  • Concepts of Azure DevOps 
    • Focus on how to run tests (units test and performance tests)
    • Focus on working with Test Cases (define, modify, run)
    • Focus on change and run a simple pipeline
  • Azure database and storage
    • Focus on how to access, configure and main differences between on-prem and cloud ones
    • Focus on Azure SQL Databases, Azure SQL Managed Instances and Azure Storage (blobs and files)
  • Azure logs and monitoring
    • Focus on where counters, logs and audit information can be found for most used Azure Services
    • Focus on Azure Monitor and how to execute queries 
    • Focus on Application Insights to track request flows (E2E)
  • Most common data flow inside Azure (web applications, REST API, microservices)
    • Simple app deployment using Azure VM Scale Sets
    • Standard web application with frontend and a REST API
    • Simple web application hosted inside AKS
    • For both flows, the focus shall be on how a request flows from one service to another.
  • Security & privacy
    • Basic security knowledge for data and computation (mechanism for access, share, encryption)
    • For security testing knowledge related to Application Gateway, Azure AD, Azure DDoS Protection, Azure Front Door, Azure Information Protection, Azure Sentinel, Azure Key Vault, VPNs, Azure WAF, Azure Security Center is required additional to strong knowledge for most used data and computation services.
It is essential to cover all the items from a QA perspective, with hands-on examples that are part of their day to day job.

Learning Path
A success learning path can be defined using materials that are available on the Microsoft website. Most of the content is from a development or automation perspective (complex one); because of this, some parts of the training content shall be ignored.
, should be covered

Azure Certifications
The Azure certification that might be useful for a QA are:

Have ideas?
This was my own view related to the curricula for a QA from Azure point of view. What do you think? Did I miss something? Shall we cover less or more specific topics? Let me know to be able to improve the recommendations. 

Comments

Popular posts from this blog

Windows Docker Containers can make WIN32 API calls, use COM and ASP.NET WebForms

After the last post , I received two interesting questions related to Docker and Windows. People were interested if we do Win32 API calls from a Docker container and if there is support for COM. WIN32 Support To test calls to WIN32 API, let’s try to populate SYSTEM_INFO class. [StructLayout(LayoutKind.Sequential)] public struct SYSTEM_INFO { public uint dwOemId; public uint dwPageSize; public uint lpMinimumApplicationAddress; public uint lpMaximumApplicationAddress; public uint dwActiveProcessorMask; public uint dwNumberOfProcessors; public uint dwProcessorType; public uint dwAllocationGranularity; public uint dwProcessorLevel; public uint dwProcessorRevision; } ... [DllImport("kernel32")] static extern void GetSystemInfo(ref SYSTEM_INFO pSI); ... SYSTEM_INFO pSI = new SYSTEM_INFO(

Azure AD and AWS Cognito side-by-side

In the last few weeks, I was involved in multiple opportunities on Microsoft Azure and Amazon, where we had to analyse AWS Cognito, Azure AD and other solutions that are available on the market. I decided to consolidate in one post all features and differences that I identified for both of them that we should need to take into account. Take into account that Azure AD is an identity and access management services well integrated with Microsoft stack. In comparison, AWS Cognito is just a user sign-up, sign-in and access control and nothing more. The focus is not on the main features, is more on small things that can make a difference when you want to decide where we want to store and manage our users.  This information might be useful in the future when we need to decide where we want to keep and manage our users.  Feature Azure AD (B2C, B2C) AWS Cognito Access token lifetime Default 1h – the value is configurable 1h – cannot be modified

What to do when you hit the throughput limits of Azure Storage (Blobs)

In this post we will talk about how we can detect when we hit a throughput limit of Azure Storage and what we can do in that moment. Context If we take a look on Scalability Targets of Azure Storage ( https://azure.microsoft.com/en-us/documentation/articles/storage-scalability-targets/ ) we will observe that the limits are prety high. But, based on our business logic we can end up at this limits. If you create a system that is hitted by a high number of device, you can hit easily the total number of requests rate that can be done on a Storage Account. This limits on Azure is 20.000 IOPS (entities or messages per second) where (and this is very important) the size of the request is 1KB. Normally, if you make a load tests where 20.000 clients will hit different blobs storages from the same Azure Storage Account, this limits can be reached. How we can detect this problem? From client, we can detect that this limits was reached based on the HTTP error code that is returned by HTTP