Thursday, July 18, 2019

MCSD Exam 70-487: Developing Microsoft Azure and Web Services

Prerequisite

MCSA Microsoft Certified Solutions Associate-Web Applications

Exam 70-487: Developing Microsoft Azure and Web Services

Accessing Data

·    Choose data access technologies 

choose a data access technology, including ADO.NET, Entity Framework, WCF Data

Services, and Azure Cosmos DB, based on application requirements

·   Implement caching 

cache static data, apply cache policies, including policy expirations; use

CacheDependency to refresh cache data; query notifications; implement caching using

Redis

·       Implement transactions 

manage transactions by using the API from System.Transactions namespace; implement

distributed transactions including distributed transaction on SQL Azure; specify a

transaction isolation level

·       Implement data storage in Microsoft Azure 

access data storage in Windows Azure; choose a data storage mechanism in Microsoft

Azure. including blobs, tables, queues, Azure SQL, and Cosmos DB; distribute data by

using the Content Delivery Network (CDN) and Azure File Sync; handle exceptions by

using retries; use Elastic client library with Azure SQL

·        Create and implement a WCF Data Services service 

address resources; implement filtering; create a query expression; access payload

formats, including JSON; use data service interceptors and service operators; version a

data service; implement data services providers; host the dataservice; use actions to

implement server-side behavior

 

Querying and Manipulating Data by Using the Entity Framework

·     Query and manipulate data by using the Entity Framework 

query, update, and delete data by using DbContext; build a query that uses deferred

execution; implement lazy loading and eager loading; create and run compiled queries;

query data by using Entity SQL; create global query filters

·       Query and manipulate data by using Data Provider for Entity Framework 

query and manipulate data by using Connection, DataReader, and Command objects

from the System.Data.EntityClient namespace; perform synchronous and asynchronous

operations; manage transactions (API)

·       Query data by using LINQ to Entities 

query data by using LINQ operators, including project, skip, aggregate, filter, and join;

log queries; implement query boundaries

·       Query and manipulate data by using ADO.NET 

query and manipulate data by using Connection, DataReader, and Command objects;

perform synchronous and asynchronous operations; manage transactions

·       Create an Entity Framework data model 

structure a data model using Table per type, table per class, and table per hierarchy;

select and implement an approach to manage a data model, including code first, model

first, and database first; implement POCO objects; describe a data model by using

conceptual schema definitions, storage schema definitions, and mapping languages,

including CSDL, SSDL, and MSL

·       Implement Entity Framework with third party databases 

implement Entity Framework using MySQL and SQLite databases; design a strategy to

manage differences between database capabilities; leverage database specific

technologies, including ON DUPLICATE KEY using Entity Framework

 

Creating and Consuming Web API-based services

·       Design a Web API 

define HTTP resources with HTTP actions; plan appropriate URI space, and map URI

space using routing; choose appropriate HTTP method to meet requirements; choose

appropriate Web API formats for responses to meet requirements; plan when to make

HTTP actions asynchronous

·       Implement a Web API 

accept data in JSON format; use content negotiation to deliver different data formats to

clients; define actions and parameters to handle data binding; implement dependency

injection to create more flexible applications; implement action filters and exception

filters to manage controller execution; implement asynchronous and synchronous

actions; implement streaming actions; implement middleware

·       Secure a Web API 

implement Identity for authentication; implement authorization using roles, claims, and

custom authorization; implement Data Protection APIs; enable cross-domain requests

(CORS); prevent cross-site request forgery (XSRF); implement and extend authorization

filters to control access to applications

·       Host and manage Web API 

host Web API in IIS; self-host a Web API in your own process; host Web API in Kestrel;

host services in a Windows Azure Web App; host services in Docker containers; configure

the host server for streaming; work with a hosting environment

·       Consume Web API web services 

consume Web API services by using HttpClient; send and receive requests in different

formats; handle retry logic; implement content negotiation; use Swagger to construct

Uris and payloads; use AutoRest to build clients

 

Designing and Implementing Web Services

·       Consume a WCF service 

generate proxies by using SvcUtil; generate proxies by creating a service reference;

create and implement channel factories; configure WCF services by using configuration

settings; create and configure bindings for WCF services; relay bindings to Azure using

service bus endpoints; integrate with the Azure service bus relay

·       Implement serverless Azure Web Services 

host web services using App Services, including Logic Apps and API Apps; design and

implement Azure Function based services; design and implement Azure Web Jobs;

design and implement Service Fabric based web services; implement schedule-based

processing in a serverless environment

·       Implement traffic management in Azure 

implement Azure Load Balancer, including scaling; implement Azure Application

Gateway; implement Azure Traffic Manager; design for multiple regions; leverage Azure

CDN for caching web services; implement Log Analytics

·       Implement Azure API Management 

secure Web Services using certificates, Azure Active Directory, and OAuth; define and

implement policies, including secrets, caching, external services, monitoring and

throttling; define API interface using the Azure Portal and Swagger; manage running

services using logging, disaster recovery, and multiple regions

·       Monitor web services 

collect logs and metrics using Azure Event Hubs; process logs and metrics using Azure

Event Hubs, Stream Analytics, and Machine Learning; use Azure App Insights to monitor

and troubleshoot web services

 

Deploying Web Applications and Services

·       Design a deployment strategy 

deploy using Web Deploy; deploy using Web Publishing in Visual Studio; deploy a web

application by using XCopy; automate a deployment from VSTS or TFS Build Server;

deploy a web application to a Docker container; design a continuous deployment

pipeline; deploy using cloud sync

·       Choose a deployment strategy for Azure 

determine appropriate service; perform an in-place upgrade and deployment slot swap;

create staging environments; configure an upgrade domain; create and configure input

and internal endpoints; specify operating system configuration; implement ARM

templates to customize deployment; deploy to Service Fabric; deploy to Azure Stack

·       Configure a web application for deployment 

switch from production or release mode to debug mode; transform configuration files ;

configure Azure configuration settings; configure Azure Key Vault for application secrets;

configure deployment credentials for Azure App Service

·       Manage packages by using NuGet 

create and configure a NuGet package; install and update an existing NuGet package;

resolve versioning conflict issues; connect to a local repository cache for NuGet, set up

your own package repository; manage NuGet dependencies

·       Share assemblies between multiple applications and servers 

prepare the environment for use of assemblies across multiple servers; sign assemblies

by using a strong name; deploy assemblies to the global assembly cache; implement

assembly versioning; create an assembly manifest; configure assembly binding redirects;

target netstandard for cross platform libraries

Monday, July 8, 2019

ISTQB CTFL-AT Agile Tester

Introduction

CTFL –AT
(Certified Tester Foundation level – Agile Tester)

References
(ISTQB AT Syllabus – Glossary – Books – Articles- Websites)

Level of Knowledge
(K1: remember, K2: Understand, K3: Apply)

Standards
(ISO – IEC –RTCA/FAA)

Chapter 1: Agile software development

The fundamental of agile software development
Agile manifesto – whole team approach – early and frequent feedback

Aspects of agile approaches
Agile software development approaches (Extreme programming – Scrum – Kanban) – testable and collaborative user stories – retrospective – continuous integration – iteration planning – release planning

Chapter 2: Fundamentals agile testing principles, practices and processes

Difference between testing in traditional and agile approaches
Testing activities in agile and non-agile projects – integrate development and testing activities in agile projects– role in independent testing in agile projects

Status of testing in agile approaches
Tools and techniques used to communicate the status of testing in agile projects – process of evolving tests across multiple iterations – test automation to manage regression risk in agile projects.

Roles and skills of tester in agile team
Skills (people, domain, and testing) of a tester in an agile team - role of a tester within an agile team

Chapter 3: Agile testing methods, techniques and tools

Agile testing methods
Test driven development – acceptance test driven development – behavior driven development – test pyramid – testing quadrants and relationship with testing level and testing types - role of a tester in a scrum team

Assessing quality risks and estimating test effort
Assess quality risks within an agile project - Estimate testing effort based on iteration content and quality risks

Techniques in agile projects
Information to support testing activities - testable acceptance criteria – write acceptance test-driven development test cases based on given user story - write test cases using black box test design techniques based on given user story - perform exploratory testing to support the testing of an Agile project

Tools in agile projects
Tools available to testers according to their purpose and activities in agile projects - Task Management and Tracking Tools - Communication and Information Sharing Tools - Software Build and Distribution Tools - Configuration Management Tools - Test Design, Implementation, and Execution Tools -  Cloud Computing and Virtualization Tools

Keywords

User story - software life-cycle - build verification test - configuration management - acceptance criteria - quality risk - test execution automation - Test-driven development -  unit test framework