We will be spending the first hour to learn about software testings, and next 2 hours on quick JavaScript lesson and assignment. At the end of the assignment, learners will see a short demo on unit test within the assignment folder.
Command to run test:
npm run test
If you face issue running jest
in the devDependency
, a quick remedy is to run npm i -g jest
first.
Note for instructors
- Run all
.js
files withnode
in the Terminal.- While running JS code, use debugging terminal to visually guide learners how codes are executed.
Source: https://www.javatpoint.com/software-engineering-software-development-life-cycle
- Requirement Analysis - Gathering the business and technical requirements.
- Defining - Defining the functional and non-functional requirements.
- Designing - Translating the functional requirements into workable tasks.
- Coding - Writing code a.k.a. development phase.
- Testing - Ensuring the outcome of development aligns with the defined requirements.
- Deployment - Going live into production.
- Maintenance - Monitoring systems health and fix errors when arises.
- Unit Test - An isolation testing targeting at the smallest piece of logic in the software.
- Integration Test - Testing multiple software modules together as a group.
- Acceptance Test - Testing the functionality of the software by end users before launch.
- Performance Test - A non functional test to determine the stability, speed, responsiveness and resilience of the system.
- Load Test - Simulate an increasing amount of traffics/requests sent to the system.
- Stress Test - Determine the peak load and/or how much requests the system can receive.
- Endurance Test - Determine the behaviour of the system at the peak load over time.
- Security Test -
- Dependency Vulnerabilities - Scanning for vulnerabilities introduced by dependencies.
- Secrets & Data Storage Strategy - Determine how secure are secrets and sensitive data being stored.
Understanding Part 1 and Part 2, learners will be grouped in a team of 3 or 4 to research (google), discuss and fulfil the blanks in the following table. Learners may simple use google docs for this.
The Test | When? (SDLC) | How are they performed? |
---|---|---|
Unit Test | Enter 1 to 7 | 3 sentences max |
Integration Test | Enter 1 to 7 | 3 sentences max |
Acceptance Test | Enter 1 to 7 | 3 sentences max |
Performance Test | Enter 1 to 7 | 3 sentences max |
Security Test | Enter 1 to 7 | 3 sentences max |
Bonus Question: Are there any other forms of software/system testings that are not listed in this lesson?
The Test | When? (SDLC) | How are they performed? |
---|---|---|
Security Test | 5,6,7 and 7 | It can be done with automation, engage testing companies, or AI |
The primitive data types of JavaScript are:
- number
- string
- boolean
- null
- undefined
- symbol (advanced, not covering)
The composite types are:
- object
- array
Check out this JS file.
Arrays consist of indices and values.
Source: [Arrays](https://www.geeksforgeeks.org/c-sharp-arrays/)Look at the basic use of array here.
Objects are made up with key-value pairs that represent properties and values. In some programming languages, the name of the data structure is "Dictionary". In JavaScript, they are called objects.
Look at the basic use of object here.