donal
2018-04-22 007b558daa4d2b16a1be88eb0958c58c13ff82d9
commit | author | age
007b55 1 # The Non Functionals Strike back
D 2 > In this exercise we explore the non-functional side of testing. 
43f2f2 3 _____
D 4
5 ## Learning Outcomes
6 As a learner you will be able to
007b55 7 - Create additional Jenkins stages to scan for security vulnerabilities in the Apps
D 8 - Assess test quiality by producing coveage reports as part of a build
9 - Improve code readability with linting
10 - Do some light performance testing to monitor throughput of APIs
43f2f2 11
D 12 ## Tools and Frameworks
007b55 13 > Below is a collection of the frameworks that will be used in this lab
43f2f2 14
007b55 15 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.
43f2f2 16
D 17 ## Big Picture
18 This exercise begins cluster containing blah blah
19
20 _____
21
22 ## 10,000 Ft View
007b55 23 > 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.
43f2f2 24
007b55 25 2. Add a parallel stage after the e2e tests on the front end to run OWASP Zap and Arachni against the deployed apps.
43f2f2 26
007b55 27 2. Add Code Coverage reporing to the build for gaining greater insight into test improvements.
D 28
29 2. Add `npm run lint:ci` to the Frontend and report the result using the Checkstyle Plugin in Jenkins.
30
31 2. Create a new Jenkins job to run some light performance testing against the API layer using the perf tests tasks.
43f2f2 32
D 33 ## Step by Step Instructions
007b55 34 > This is a well structured guide with references to exact filenames and indications as to what should be done.
43f2f2 35
007b55 36 ### Part 1 - Add Security scanning to the pipeline 
D 37 > _In this exercise the first of our non-functional testing is explored in the form of some security scanning_
43f2f2 38
D 39 2. Do thing using tool X.
40 2. Insert blah into `file1.txt`
41 ```
42 export SOME_THING=biscuits
43 ```
44 2. Open console and navigate to `New Item` and click it ![new-item](./images/new-item.png)
45
007b55 46 ### Part 2 - Add Code Coverage & Linting to the pipeline
43f2f2 47 > _prefix of exercise and why we're doing it_
D 48
49 3. Do other things
50
51 _____
52
53 ## Extension Tasks
54 > _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._
55
007b55 56  - Add Black Duck or other package scanning tooling for our NodeJS app
D 57  - Add Container Vulnerability scanning tooling to the pipeline
43f2f2 58
D 59 ## Additional Reading
60 > List of links or other reading that might be of use / reference for the exercise
61
62 ## Slide links
63 > link back to the deck for the supporting material