Giter VIP home page Giter VIP logo

techtestunityrps's Introduction

TechtestUnityRPS

September 25th 2021: My primary objectives will be to demonstrate my working knowledge of skills useful for a QA Engineer.

Todo: Make a Unit test for the EnemyHand AND Playerhand outputting valid choices. Make a Unit test for the proper results of a match. Make a unit test for the money being incremented or decremented properly.

Stretch goals: Export unit test results to a report that can be exported and uploaded.

September 27th 2021:

I created unit tests in EditMode and PlayMode. The EditMode test I created unit tests all the possible outcomes of the rock paper scissors matchup, and confirms that the results of a match are as expected. The PlayMode test simulates hundreds of matches and checks for invalid text being output onto the screen.

I designed the PlayMode test to catch the error of the EnemyHand being "Nothing", and creating an invalid match. I was not sure how to catch it with an EditMode test, but I would love to discuss that if we can have the time.

My EditMode unit tests are a little ugly and full of repetition, and if I had more time I would have made the code more elegant and easy to read. Though I am not sure if it is better for the unit tests to be broken up in function name, so that all 9 checks are run, and the failure and success of each one is reported.

I glad to report that I have created a Jenkins build machine that creates a playable build of the game, but also generates the results.xml file from the automated tests added to the game using the test runner window.

I decided to shoot for having a JenkinsBuild machine to create builds, as well as automatically run the unit tests in the game, primarily because I remember in the phone interview that we had, that JenkinsBuild was mentioned as a useful bonus skill. Also, it would be inconvenient for developers to manually run the unit tests themselves, and it simplifies the process for the build machine to automatically run the tests for them.

I didn't write the JenkinsBuild.cs script, and only edited it a small bit to fix an issue that I saw. I have credited them in the comments.

I have included a folder in the project called "ReadmeFiles" with a copy of a build made by jenkins (#15. Builds 1-8 were failures, builds 9-14 were successes, 15 was the first one to successfully run and output the unit test results), as well as a copy of the workspace folder found in C:\Windows\System32\config\systemprofile\AppData\Local\Jenkins.jenkins\workspace

I wasn't quite sure how else to show my work in creating the jenkinsbuild machine, or how it can be maintained with version control, but I would love to talk about it sometime.

Anyways, if I had more time, I would have: Implemented unit tests to check that the money increment/decrement functions were working properly. As some of that code was in private functions, I was a little stuck and decided to focus on the build machine instead.

techtestunityrps's People

Contributors

cjanowicz avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.