Wednesday, October 9, 2019

Paradigm of Software Engineering Professional Programs Suggession


Paradigm of Software Engineering Professional Programs Suggession 

·       Integrated Software Development

·       Software Design Methodologies

·       Software Testing &Quality Control

·       Software QA &Process Improvements

·       Cloud Development &DevOps


Job Profiles:

             ·       Full Stack Developer

             ·       Solution Architect

             ·       Software Development Engineer In Test (SDET)

             ·       DevOps Engineer

             ·       Cloud Developer

             ·       Software QA Engineer


Integrated Software Development

1.     Software Development Essentials

·       Operating Systems Fundamentals

·       Introduction to Computer Networks

·       Introduction to Programming

·       Data Structures and Algorithms

·       Database Fundamentals

·       Object-Oriented Programming Concepts

2.     Web Application Development

·       Introduction to Web Technologies

·       Back-end Web Development

·       Web Services and API

·       Front-end Web Development

·       UI/UX Concept and Technologies

·       Database systems

·       MEAN Stack Development

·       Unit Testing

3.     Software Architecture

·       Introduction to Software Architecture

·       Domain Driven Design

·       Event Driven Architecture

·       SOA Design Concepts with N Layered Architecture

·       Aspect Oriented Architecture

·       MVVM architecture

·       Microservices Architecture

·       Refactor Monolith to Microservices

·       Cloud Application Architecture

·       ORM Concepts and Technique

·       Test Driven Development


Software Design Methodologies

1.     Introduction to Software Engineering

2.     Software Development Life Cycle (SDLC)

·       Sequential Models

·       Iterative and Incremental Models

·       Automating SDLC

3.     Software Development Methodologies

·       Agile Methodologies

·       DevOps Methodologies

4.     Design Patterns

5.     Object Oriented Analysis & Design

6.     SOLID Design Principles & Implementations


Software Testing &Quality Control

1.     Software Testing Concepts &Techniques

·       Testing Principles

·       SDLC and Testing Life-cycle (STLC)

·       Testing & QC and QA

·       Testing Levels and Types

·       Testing Techniques

·       Test Processes

·       Agile Software Testing

2.     Test Automation

·       Testing Analysis and Automation

·       Test Automation Architecture

·       Test Automation Approaches

·       Test Automation Levels (Code Unit – Database – API-GUI)

·       Performance Testing

·       API Testing

·       Dev-Ops Testing

·       Security testing

3.     Embedded& Automotive Testing

·       Introduction to embedded systems

·       Testing Embedded software systems

·       Testing software-based automotive systems

4.     AI in Software Testing

·       Introduction to AI in Software testing

·       Testing AI-Based Systems

·       Machine Learning and Testing


Software QA &Process Improvements

1.     Software Quality assurance essentials

·       Process definition and Implementation

·       Auditing

·       Training

2.     Software Process Improvement Models

·       ISO/IEC

·       Capability Maturity Model Integration (CMMI)

3.     Test Process Improvement Models

·       TPI

·       Testing Maturity Model Integration (TMMi)

4.     Analysis using Measures, Metrics and Indicators

·       Test Effectiveness Metrics

·       Test Efficiency / Cost Metrics

·       Lead-time Metrics

·       Predictability metrics

·       Product Quality Metrics

·       Test Maturity Metrics


Cloud Development &DevOps

1.     Cloud Computing Fundamentals

·       Overview of cloud computing

·       Cloud Service Models

·       Infrastructure as a Service (IaaS)

·       Platform as a Service (PaaS)

·       Software as a Service (SaaS)

·       Cloud Deployment Models

·       Data Centers

·       Core Cloud Computing Concepts

·       Virtualization

·       Containers

·       Serverless

·       Function as a Service (FaaS)

2.     Cloud Development

·       Cloud Architecture

·       Cloud Apps Development

·       Storing data in the cloud

·       Building and Deploying

·       Scaling and Fixing

·       User Authentication and security

·       Containers and Orchestration

·       Connect with third-party services

3.     Cloud Automation and DevOps

·       Infrastructure as Code (IaC)

·       Continuous Integration & Continuous Delivery

·       Configuration Management

·       Monitoring and Logging

·       Security and Compliance

4.     Cloud Service Providers

·       Cloud Services Categories

·       Management

·       Elasticity

·       Developer tools

·       Databases

·       Compute Services

·       Networking

·       Serverless

·       Containers

·       Identity

·       Storage

·       Security

·       Analytics

·       AI and machine Learning

·       Providers

Monday, September 16, 2019

Mathematics: Calculus Topics

 

- Differential Calculus- حساب التفاضل

*Functions and Graphs

*Limits of functions

*Continuity

*Derivatives

*Differentiation Functions of several variables

*Partial derivatives

*Application of Derivatives

- Integral Calculus - حساب التكامل

*Integration and Approximating areas

*Definite and Indefinite integral

*Line and surface integral

*Techniques of Integration

*Numerical integration

*Improper integrals

*Multiple integration

*Applications of Integration

- Differential Equations - المعادلات التفاضلية

*Formation of ordinary differential equations(ODE’S)

*First order Differential Equations

*Linear Second order Differential Equations

*Higher-order Linear Differential Equations

*Laplace Transforms

*Partial differential equations

*Applications of Differential Equations

Tuesday, September 10, 2019

Strategies of Integration Testing



Big Bang Approach:
In this approach, all component are integrated together at once and then tested, this approach convenient for small systems.

Incremental Approach
In this approach, testing is done by joining two or more modules that are logically related. Then the other related modules are added and tested for the proper functioning. The process continues until all of the modules are joined and tested successfully.
Incremental Approach, in turn, is carried out by two different Methods: Bottom Up, Top Down

Bottom-up Integration
In the bottom-up strategy, each module at lower levels is tested with higher modules until all modules are tested. It takes help of Drivers for testing

Top-down Integration:
In Top to down approach, testing takes place from top to down following the control flow of the software system.

Hybrid Integration
In the hybrid strategy is a combination of Top Down and Bottom up approaches. Here, top modules are tested with lower modules at the same time lower modules are integrated with top modules and tested. This strategy makes use of stubs as well as drivers.

Thursday, August 8, 2019

Test Automation Tasks Checklist Suggestion

(1) Understand and Analyse

- Understand From stakeholders the purpose of Automation
- Understand the vision For Transfer to automation
- Understand Development, Testing and QA processes

(2) Prepare For Automation

- Check validate factors influencing for automation [System architecture - system infrastructure]
- Check For System size and complexity
- Check the Platforms, Database, Third parties and System environment
- Check Tools and technologies used in system
- Check Configuration deployment
- Check system consideration for automation [Test interfaces, controllability and testability]
- Check Manual Testing Backlog For system modules [HLS, Test cases and Test data]

(3) Tools analyse and evaluation

- Analysing and evaluation tools used for automation
- Selection tools used for automation [testing-automating-tracing-reporting-adaptors-emulators..]
- Determine appropriate Approach
- Identify suitable approach for automation [Structure scripting-Data driven-Keyword driven]

(4) Create strategy and Plan

- Initiate strategy and Automation Test plan
- Determine Scope and Scalable
- Approach organize and details
- Maintenance plan
- Risk analysis and contingencies
- Test environment
- Roles, Responsibilities and training plan
- Automation tasks Schedules

(5) Design Test Automation Architecture

- Define Generic Test Automation Architecture and Relations with TM, CM and PM
- Design Test automation architecture Layers

(6) Tools configuration

- Tools installation and setup
- Tools Configuration and customization

(7) Develop Test Automation solution

- Design Solution architecture
- Solution infrastructure, platforms and compatibility with system under test.
- Interfaces, Libraries, packages and organize projects under solution
- Support for variety target systems
- synchronization between Automation solution and system

(8) Creation Test scripts

- Scripts creation and organizing per modules
- Standardization and naming convention

(9) Continuous improvement

- Options improving test automation
- Adapting test automation to environment and system changes
- Improve for Continuous integration

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