donal
2018-04-22 007b558daa4d2b16a1be88eb0958c58c13ff82d9
Template of the lab5 stuff
1 files modified
39 ■■■■ changed files
exercises/5-non-functionals-strike-back/README.md 39 ●●●● patch | view | raw | blame | history
exercises/5-non-functionals-strike-back/README.md
@@ -1,19 +1,18 @@
# Exercise Title
> Short description of the exercise and it's outcomes
# The Non Functionals Strike back
> In this exercise we explore the non-functional side of testing.
_____
## Learning Outcomes
As a learner you will be able to
- Do thing 1
- Do thing 2
- Do thing 3
- Create additional Jenkins stages to scan for security vulnerabilities in the Apps
- Assess test quiality by producing coveage reports as part of a build
- Improve code readability with linting
- Do some light performance testing to monitor throughput of APIs
## Tools and Frameworks
> Name of tool - short description and link to docs or website
> Below is a collection of the frameworks that will be used in this lab
1. [Jenkins](https://jenkins.io/) - OpenSource build automation server; highly customisable through plugins
1. [Ansible]() - blah blah ...
1. [eslint](https://eslint.org/) - ESLint is an open source JavaScript linting utility originally created by Nicholas C. Zakas in June 2013. Code linting is a type of static analysis that is frequently used to find problematic patterns or code that doesn’t adhere to certain style guidelines. There are code linters for most programming languages, and compilers sometimes incorporate linting into the compilation process.
## Big Picture
This exercise begins cluster containing blah blah
@@ -21,17 +20,21 @@
_____
## 10,000 Ft View
> This should contain the goal of the exercise; with enough information that advanced learners could use this to build the exercise without much guidance. The information here
> This lesson will use the Exerisise 4's Zap Slave and Arachni scanner to improve the pipeline. Linting will be included in the build and code coverage too.
2. Highlevel instruction 1
2. Add a parallel stage after the e2e tests on the front end to run OWASP Zap and Arachni against the deployed apps.
2. Highlevel instruction with ref to `file-a` to keep learners in supportable mode
2. Add Code Coverage reporing to the build for gaining greater insight into test improvements.
2. Add `npm run lint:ci` to the Frontend and report the result using the Checkstyle Plugin in Jenkins.
2. Create a new Jenkins job to run some light performance testing against the API layer using the perf tests tasks.
## Step by Step Instructions
> This is a fairly structured guide with references to exact filenames and sections of text to be added. Include pictures and code snippets where appropriate. Rule of thumb is learners are dumb.... so over describe _why_ we're doing things
> This is a well structured guide with references to exact filenames and indications as to what should be done.
### Part 1 - do some things
> _prefix of exercise and why we're doing it_
### Part 1 - Add Security scanning to the pipeline
> _In this exercise the first of our non-functional testing is explored in the form of some security scanning_
2. Do thing using tool X.
2. Insert blah into `file1.txt`
@@ -40,7 +43,7 @@
```
2. Open console and navigate to `New Item` and click it ![new-item](./images/new-item.png)
### Part 2 - do some other things
### Part 2 - Add Code Coverage & Linting to the pipeline
> _prefix of exercise and why we're doing it_
3. Do other things
@@ -50,8 +53,8 @@
## Extension Tasks
> _Ideas for go-getters. Advanced topic for doers to get on with if they finish early. These will usually not have a solution and are provided for additional scope._
 - Add Auth to your application
 - Do some other stuff
 - Add Black Duck or other package scanning tooling for our NodeJS app
 - Add Container Vulnerability scanning tooling to the pipeline
## Additional Reading
> List of links or other reading that might be of use / reference for the exercise