Skip to content

Research Testing Suite #73

@Quashnock

Description

@Quashnock

Creating a Testing Suite

Adding a testing suite was something that Adam mentioned off-hand could be a good long-term goal for Mission Control. Although Mission Control is proprietary in that only TrickFire uses it, implementing tests along with our linter would make the software more well rounded and professional. Additionally, this would be great practice for members looking to gain experience with writing and creating test cases! (It's a great resume item!!!)

I had previously considered saving this for the Summer, but we can begin researching how testing can best be done with the application now. This includes:

- Possible tests for Mission Control features:

What would be helpful for rover operators to know works before they drive the rover? For this step, it might be best to brainstorm with other members, even those outside of Mission Control, for things we should be able to test easily. Some current ideas I have include:

  1. Sections of the code that currently use debugging console logs to ensure they work correctly.
  2. Publishers and making sure that they publish the data we want.
  3. Sections of code that use outside data. What happens if autonomous accidentally tells us one of the motors is using -1 volts?

Just creating a list of these would be great! We want as many as we possibly can and we can narrow down possibilites from there.

- Testing framework options:

There are tons of unit testing frameworks out there that can help us write and organize our unit tests. Depending on the tests we want to create, some frameworks may work better than others.

After some short research, two frameworks that look good are:

  1. Jest
  2. Vue Testing Tools

These two support specifically unit testing, but others may be more suitable for end-to-end testing or if we want to make sure the UI is painted a particular way.

Final Remarks

If you're unfamiliar with testing methodology, here is a quick 5-min video that can help!: https://www.youtube.com/watch?v=3OmfTIf-SOU

The point of this issue is to get us thinking about the scope and usefulness of adding Unit Tests to Mission Control. We may ultimately decide that testing is not a good fit for our program. However, I think this is a good consideration for writing code in the future, regardless of if we implement the suite.

If you have any questions or difficulites with this issue, please let me know!

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions