READ ME - An important message about testing

Hi guys. I feel I need to announce this on the back of what M3 said yesterday, just so we're all clear on what needs to be done.

As testers, you have two responsibilites; to test and report bugs you or other players find, and to test changes to the script to ensure I haven't broken anything (happens VERY rarely 😉 ).

Most of you are great at the first part, reporting bugs, although the testing could be better, I'll get onto that first. When someone reports a bug, it's not enough to just put in on GitHub with exactly what the reported said happened - you need to replicate the bug yourself to confirm it. That's the first part, the second part is trying to figure out _why_ the issue occurs. For example we have a bug on the server right now where cops can't go on duty as it's telling them they need a weapon licence. I can clearly see in my inventory that I have a weapon licence, so what's going on? I could just put in the report that 'I have a weapon licence but it's saying I don't!' but then I myself would have to carry out testing to further understand _why_ this is the case. The first thing I did was to drop it from my inventory and re-buy it, and suddenly it works. This leads me to believe it's an issue with when your inventory gets loaded from the database. If someone would have tested this and mentioned it, I could have fixed it a lot quicker. Luckily this was a quick fix with one line of code, but for more complex issue a lack of thorough investigating and testing can lead me to spend a lot of time testing bugs which is what you guys should be doing as testers. You need to test every possibility of how a bug could have occured, and try and find out what steps lead up to the bug. Bugs are sometimes a series of events, not just one action that causes a bug. For example if you can't pick up the treasure hunt clue box, perhaps some other pickup on the server is interfering with it, so go and test a few other pickups or try relogging to see if it's just a bug that was affecting you and clears after a relog. Try every possible way to make the bug happen again and ALWAYS ALWAYS get video evidence. It takes no time or effect at all to record a 30 second video, but can save me a heap of time.

Take this bug report as an example: https://github.com/mikescnr/mcnr-issues/issues/1366

Secondly, testing changes to the script. This is just as important if not more. A bug missed in testing means it gets onto the public server and will affect players. Of course I do my best to not introduce bugs, it's hardly intentional, but testing is a really important role on the server and I need you guys to make sure you are doing it properly. The main concern I have is the methodology used to test bugs. Most of you guys are only testing things in the intended way. For example imagine I had just added bank robbery to the script - how would you test it fully? A few of you would just go to the bank, rob it, go to the hideout, and go 'yep, works good!'. This is not enough. When I am scripting things I am obviously going to test the intended path, otherwise I would just be blindly scripting things and hoping for the best. What I need from you is to find bugs in it, by doing unexpected and atypical things. What happens if you quit during the door opening? Does the door continue to open? Does it open and then nothing happens? Does an error appear in chat? What happens if the bank vault guard somehow leaves the server, does he come back? Does the bank robbery continue without him? Or is the bank robbery rendered completely disabled due to his absense? What about players with lag and packetloss - do they experience any game-breaking issues? What about if someone dies during the vault cracking minigame, does the robbery fail and reset after 2 minutes as intended, or does it get stuck? These examples are things that weren't tested back in the way, and led to the bank robbery being absolutely RIDDLED with issues on launch. Yes it was partly my fault for not encouraging proper testing or facilitating it with a live test server environment, so lesson learnt. I just want to make sure we don't have things like this again.

As some of you may know, version 2.0 will come one day with many additions and changes, and will be the biggest update to MCNR since launch (hence the version 2). When it comes time to test version 2, there's probably going to be a heap of bugs because it will be kept private until just prior to launch. It is critical it is tested properly and thoroughly so we avoid game-breaking bugs making their way onto the public server.

I'm sorry to say, but going forward if I identify testers which aren't testing things correctly, or are inactive, I will have to revoke your rank and give it someone who will put in more effort. Thank you for your continued efforts I really appreciate it, for the sake of MCNR lets get on top of this. Thanks.