-
Problem of Software Testing
- Test Pyramid
- Pain Point
- Shopping Cart: High-level Structure (Diagram)
- Internal Architecture
- Resource (Controller)
- Domain
- Repository
- Gateway
- Tests
- Unit
- Integration
- Contract
- UI/API
- End-to-End
- Acceptance
- Exploratory
- The Confusion About Testing Terminology
- Putting Tests Into Your Deployment Pipeline
- Avoid Test Duplication
- Writing Clean Test Code
- Conclusion***
-
Several Specific Benefits of Containers
-
What is Container?
-
Language Flexibility
service A jdk8, service B jdk7, service C go1.5
-
Isolation Without Overhead
light weight
-
Developer Efficiency
Isolating Dependencies(libs, configuration)
-
Reproducibility
Containers make it easier to reproduce your application environment.
-
-
On local machine
-
Install Docker and Editor
- get-docker
- install windows home
WSL2 must be installed before you can install and use Docker. - Install VSCode & Docker Plugin
-
Hello World Docker
docker run hello-world
-
Docker run: behind the scenes
- Docker looks for the image on this computer
- Is it installed
- Docker searches Docker Hub for the image.
- Is it on Docker Hub
- Docker downloads the image
- The image layers are installed on the computer
- Docker create a new container and starts the program.
- The container is running.
-
Basic Docker commands
- run, ls, rm, ps, start, stop, help
-
Docker Image
-
Docker Container
-
Create Your own Docker Image:
- Modify, Commit, and Tag
- Sign Up https://hub.docker.com
- Push Image to hub.docker.com
- Pull and Run
-
Dockerfile
- Reference
- FROM, COPY, RUN, CMD, ENTRYPOINT
- Dockerfile best practices
- Modify, Build + Tag, Push
- Pull and Run
- Reference
-
-
On local machine (Running other person implementation)
- Pull docker images to run API testing
- Bind port
- Run
- Mount disk volume
-
docker-compose(intro)
- One service(Store Service)
- Command: Up/Down
-
Running Frontend and Backend Service without docker-compose
- Hello, World API v.1
- Time API(dependency)
-
Running Frontend and Backend Service with docker-compose
- Hello, World API v.1
- Time API(dependency)
- Study the web application architecture
- Analysis and design how to use docker
- Define the implementation steps of using docker
- Build Steps: Go, Node.js
- Hello(Go) API v.2, Time(Node.js) API, and Mysql
- HTTP
- PORT
- ENV(Configuration)
- Volume(Storage)
- Lab on local machine (Running with Docker compose)
- Run Docker compose
- Docker compose commands
- Docker compose file
- Lab on local machine (Build your own Docker compose and Docker file)
lab 08. shopping cart Dockerfile
- Create docker images from Docker file
- Tag docker images
- Push Docker images to Docker hub
- Create Docker compose
- Run Docker compose
- On cloud (Run your own)
lab 09. shopping cart on cloud
- Create servers on cloud
- Install Docker
- Copy docker-compose.yaml to Cloud Server
- Run docker compose
- Demonstrate to execute API Testing with Robotframework + RequestsLibrary and Postman(by instructor team)
- Demonstrate to execute workflow thought User Interface with Robotframework + SeleniumLibrary(by instructor team)
- Docker with CI