On Github breynisson / eveprobe_presentation
How we made a crowd-testing app that is also used for development
I will tell you about why we made a crowd-testing app, which is used heavily for development. Why did we do it? And what is the current status?Björgvin Reynisson
QA Engineer at CCP Games
Background in mobile phones
Electrical Engineer. At CCP since 2013. Previously at Nokia doing manufacturing tunings and tests. Now work with the graphics engine platform team.An app for:
Crowd-testing the EVE Online Graphics Engine Development Performance Benchmarks/Monitoring To have the ability to run a controlled test on YOUR machine. A way to stop reacting to defects. To make test-scenes while developing. To continuously run the same scenes to monitor the code performance.Anyone seen this?
How about this?
We do get reports about these sort of errors from time to time.
...is neither satisfying for us nor our players
A shift from the tried and tired Dev quote of: "It works on my machine"
Repeatable test-scenes that you play back on your computer
Increased coverage
Works on your machine.
Initially used R and IPython notebooks for cleaning/processing/visualizing data
IPython Notebooks and R are EXCELLENT tools for exploratory data analysis. When your data becomes too big to handle in-memory, then you might want to explore other ways of digging into your data.
Voila!
A collection of reports.
From the "performance stat" field, you can choose any one of the 149 different metrics.
Automatic builds. The page shows EVE Probe builds from the different branches. The publish button can be used to publish the selected build.
This is a part of the process we've done the least amount of work on. We did a soft-launch, only putting up a forum thread with some information, and a download link. Since then, we have not really pushed the app, except for a one-time news-item in the EVE-Online launcher. Clearly, we suspect the adoption numbers reflect this.
Resources are delivered On-Demand.
Binaries are delivered On-Demand.
Resources have been delivered on-demand from the start. This means that the needed resources for each scenes are downloaded at runtime. Binaries on-demand introduced recently. Means the binary version is downloaded at runtime.Heavily used by the core graphics team.
Helps when doing any kind of refactoring or optimization. We know that the scene looks the same every time. So when when changing code, and comparing results, we know that the code is the variable, and not the test-setup.
Also used the tool to prove the DoD concept.