Skip to content

Latest commit

 

History

History
122 lines (96 loc) · 8.29 KB

File metadata and controls

122 lines (96 loc) · 8.29 KB

Testing Applications

Infrastructure

SDN Laboratory

Software Defined Networking (SDN) is an architecture that uses open protocols to provide centralized, programmatic control and network device monitoring. In SDN laboratory, we have some general concepts like Controllers, Mediators, Network Elements and SDN Applications.

Concepts

Fake Addresses

Concepts

Step-by-Step Guidelines

Tools

To achieve automated testing and delivery process, requires a SDN pipeline dockerize environment setup using below mentioned tools,which gives us how NodeJS applications deploy as a docker container through Jenkins and running automated test suites for every commit of GitHub develop branch.

Jenkins

Jenkins is an open source continuous integration/continuous delivery and deployment (CI/CD) automation software tool written in Java programming language. It helps to automate the software activities like building, testing, deploying and used to implement CI/CD workflows, called pipelines which makes easier to developers to deliver the Software modules. It is the leading tool for CI.

Concepts

Step-by-Step Guidelines

Documents

Git, GitHub

It is a free and open source distributed version control system and easy to learn. It is used more efficiently to manage Git repositories on centralized server. Git makes it easy to use by users:

  • Keep track of code history
  • Collaborate on code as a team
  • See who made which changes
  • Deploy code to staging or production

Concepts

Step-by-Step Guidelines

Documents

Docker

Docker is an open source platform that enables developers to build, deploy, run, update and manage containers of applications. It is used to call as configuration management tool that is used to automate the deployment of software in lightweight containers which can run on any OS environment. These containers help applications to work efficiently in different environments. docker Containerization is very friendly in building and deploying applications.

Concepts

Step-by-Step Guidelines

Documents

Newman and newman-reporter-htmlextra

Newman is a command-line collection runner for Postman. It allows us to run and test a Postman collection directly from the command-line. It is built with extensibility in mind so that can easily integrate it with continuous integration servers and build systems.

Step-by-Step Guidelines

Documents

HAScripts

HighAvailability is an ability to monitor/operate the services continuously with minimal of zero failures. current architecture have multiple instances of Applications running and if one of them crashes, we still have the other instances working and available. HA will make sure that all instances are up and running, If required will resume the crashed instances also.

Step-by-Step Guidelines

SDN Application Pattern Deployment

Currently, the application pattern is building an application layer on SDN controller using the microservice architecture where the complex applications are spilt into small pieces and make them run independently. Concepts

Step-by-Step Guidelines

Acceptance Testing

Acceptance testing is a quality assurance (QA) process and this technique performed to determine whether software system has met user/business requirement specifications. It evaluates quality of software. Acceptance Testing run in testbed environment and if everything is ok from acceptance testing then approve the build to production environment to deploy.

Step-by-Step Guidelines

Integration Testing

Integration Testing is finalized testing of software product. Normally software products are divided into different modules and here SDN applications are also developed as individual services. This testing verifies that software modules are integrated logically and tested as a group. The purpose of this level of testing is to expose defects in the interaction level and checks the proper service/data communications happen among modules/Applications.

Step-by-Step Guidelines

<- Back to Specifying - - - Up to Main - - - Ahead to TinyApplicationController ->