Tool/k6 load test for dynamic testing #147
Conversation
…here I needed to ad everything and rerouted the inital compser file to the one that i added into vendor
Adding HTML and CSS for a make visible to staff-only Button
Added Mark Endorsed Button to the posts' tools dropdown menu
Anonymous button front-end implemented
…U-313/nodebb-spring-26-98k into feature/answered-mark-sprint1
…e so that it renders correctly
Anonymous button fully implemented. Coverage error persisting, but besides that all tests are passing.
feat: complete backend question status implementation
Change the button formatting so that on click it becomes red/white so that users know which state it is in
Completed implementing the backend for the endorse post button as a new feature for the topics tools.
The staff only button was implemented such that if clicked other users except admin and poster cannot see the post
Added Endorse Topic Feature user guide to UserGuide.md, explaining how to use the feature as an admin and how to conduct user-testing on the feature.
Added documentation for the Staff Only Post feature,
Document Staff Only Post feature and user testing
Add user configuration to NodeBB service (reci 7)
Reci7 adding file
Dynamic Analysis
This tool detects performance and reliability issues, seeing how well the application can work under large loads and sudden spikes which is something that would have to be tested for a website used for school purposed such as NodeBB where if there is an announcement is made, there may be a surge of students asking questions or accessing the website.
It is customizable in the sense that you can test the load and reliability in different ways such as a spike in users, like with a spike test, a soak tests where you see how well it works for an extended period of time under load and all these are things that are customizable through javascript and creating the test yourself as was done in this PR in nodebb-smoke.js
You could automate the tests in the CI/CD pipeline or run the test before final deployment due to the fact that you will need to know how well the application will run under an influx of users. It was fairly easy to integrate into the application with just having to download a few pre made applications and running the program and in my case using an already-made easy test however that can be easily updated as needed
There aren't many false positives or negative issues that may arise from creating tests that don't actually have the right load for the website, either underestimating it or overestimating the load and getting results that aren't helpful to the actual application itself. |
Testing out a tool for checking the performance and scalability of the code, it is measuring the latency and response time of the server it tests the load it can work under
Dynamic Testing
Tool integration can be seen in :
tests/k6/nodebb-smoke.js for running script that can be updated as needed
node_modules/k6 where k6 was installed
tools/k6 where the k6 was also installed
Artifacts of successful tool run can be seen in outputs/k6-outputs.txt (https://github.com/CMU-313/nodebb-spring-26-98k/blob/tool/k6-load-test/outputs/k6-output.txt) this is also a screen shot of it:

Pros:
Cons: