Skip to content

Commit

Permalink
edits to readme
Browse files Browse the repository at this point in the history
  • Loading branch information
jrk12b committed Jul 25, 2024
1 parent edde4a7 commit d31d7a8
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 17 deletions.
32 changes: 16 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,31 +12,31 @@ Time Of Day is a powerful and intuitive app designed to help you manage and opti

## Tech Stack

- Node.js - JavaScript runtime environment and engine.
- React - JavaScript front-end library.
- Express - Backend web application framework for building RESTful APIs.
- MongoDB/Mongoose - No-SQL Database.
- `Node.js` - JavaScript runtime environment and engine.
- `React` - JavaScript front-end library.
- `Express` - Backend web application framework for building RESTful APIs.
- `MongoDB/Mongoose` - No-SQL Database.

## Testing Framework

[QA Manifesto PDF](https://www.justinkurdila.com/_files/ugd/8fbca8_1d4d65417eb94e85a41e5016e15eb902.pdf)

- Jest - Unit/Component Testing
- `Jest` - Unit/Component Testing
- `Time-Of-Day/src/tests/unit tests/`
- `Time-Of-Day/src/tests/component tests/`
- Mocha, Chai, and Supertest - Integration API Testing
- `Mocha`, `Chai`, and `Supertest` - Integration API Testing
- `Time-Of-Day/src/tests/api tests/`
- Mocha serves as the test runner, managing the execution of your test cases and suites.
- Chai provides the assertions to check the correctness of the responses and behavior.
- Supertest handles making the HTTP requests and receiving responses for your API tests.
- K6 - Performance Testing
- `Mocha` serves as the test runner, managing the execution of your test cases and suites.
- `Chai` provides the assertions to check the correctness of the responses and behavior.
- `Supertest` handles making the HTTP requests and receiving responses for your API tests.
- `K6` - Performance Testing
- `Time-Of-Day/src/tests/performance tests/`
- Cypress - UI System Testing
- `Cypress` - UI System Testing
- `Time-Of-Day/cypress/e2e/`

## Cypress Testing Details

- Evaluating app ui and validating al functionality/behavior.
- Evaluating app ui and validating all functionality/behavior.
- All Cypress tests run in github actions against the following browsers:
- Chrome
- Firefox
Expand All @@ -48,21 +48,21 @@ Time Of Day is a powerful and intuitive app designed to help you manage and opti

Four main types of performance tests:

1. Backend API Performance (k6)
1. Backend API Performance (`k6`)
- Targeting API endpoints and excercising CRUD functionality.
- Executing thousands of requests, simulating many concurrent virtual users.
- Validating request duration, requests per second, failed/passing requests, and response data.
- Thresholds set for each metric.
2. Frontend Browser Performance (k6)
2. Frontend Browser Performance (`k6`)
- Evauluating app UI performance.
- Executing thousands of requests and page loads, simulating many concurrent virtual users.
- Validating browser request duration, requests per second, failed/passing requests, [browser metrics](https://grafana.com/docs/k6/latest/using-k6/metrics/reference/#browser) FCP, LCP, FID, CLS, TTFB, and element/component loading.
- Thresholds set for each metric.
3. Frontend Browser Page loading (Cypress)
3. Frontend Browser Page loading (`Cypress`)
- Evauluating app UI performance.
- Visiting each page, validating page load, and timing length of page load.
- Thresholds set for acceptable length of time for page load.
4. Google Lighthouse Performance (Cypress)
4. Google Lighthouse Performance (`Cypress`)
- Evauluating app UI performance.
- Visiting each page and running [Google Lighthouse Performance Metrics](https://developer.chrome.com/docs/lighthouse/overview)
- Thresholds set for each [metric](https://developer.chrome.com/docs/lighthouse/performance/performance-scoring).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ const k6_thresholds = {
browser_http_req_failed: ['rate<0.005'], // the rate of failed requests
browser_web_vital_lcp: ['p(95)<13000'], // Measures a page's loading performance, specifically Largest Contenful Paint - the render time of the largest image or text block visible in the viewport, relative to when the user first navigated to the page.
browser_web_vital_fid: ['p(95)<500'], // Measures a page's interactivity, specifically First Inout Delay - measures the time from when a user first interacts with a page to the time when the browser is actually able to begin processing.
browser_web_vital_cls: ['p(95)<0.6'], // Measures a page's visual stability, specifically Cumulative Layout Shift - a measure of the largest burst of layout shift scores for every unexpected layout shift that occurs during the entire lifecycle of a page
browser_web_vital_cls: ['p(95)<0.8'], // Measures a page's visual stability, specifically Cumulative Layout Shift - a measure of the largest burst of layout shift scores for every unexpected layout shift that occurs during the entire lifecycle of a page
browser_web_vital_ttfb: ['p(95)<18000'], // Measures the time it takes between the browser request and the start of the response from a server
browser_web_vital_fcp: ['p(95)<23000'], // Measures the time it takes for the browser to render the first DOM element on the page, whether that's a text, image or header.
checks: ['rate>0.99'], // the rate of successful checks should be higher than 99%
Expand Down

0 comments on commit d31d7a8

Please sign in to comment.