Open MarkoPaasila opened 6 years ago
QA is more than just thinking about technically how to make the bot do things, a proper QA process is required if DEXbot wants to have production ready software. To adopt best practices you need to look at it from an entire product perspective, there are plenty of blog posts on the internet about 'QA best practice process'. It includes much of the following steps:
Rest assured QA processes are being taken seriously..
A dedicated QA dev and a Shadow QA dev is being sought to ensure thorough QA. A test process document is being written to make the process transparent and to make sure it is repeated for every release of DEXBot
Should the checks include separately testing each feature, installation using all supported methods and operating systems? I don't think the checklist should be so strict that it inhibits us from making releases, but it should make sure we never go backwards. Every release should be better than the previous.
So we should document (wiki) the QA procedure and prepare the checklist. Every new feature should be added to the checklist - with the result that the time testing takes will always increase.
Before each release testing should be done according to the procedure and any new bugs reported. This should be repeated after any change / bugfix, until all tests pass. Only then can a release be made.
Should the checks include separately testing each feature, installation using all supported methods and operating systems?
Yes it should cover all new features and all platforms. I think we've gotten better but we need to do better to ensure that really egregious bugs don't show up. Right now for someone without technical skills the command line barrier is still too high for the software to be adopted.
If we have a dedicated QA working on a wiki and prepping the checklist as well as giving feedback to the team and listening to the public, that's already more than half of the solution.
I'm asking around in my communities if anyone is open to picking up this work, hopefully there will be some interest.
I've found a potential dev who might be able to tackle some of this
What can and should we do to ensure quality? Of primary importance is making sure keys are secure and that strategies do nothing stupid. This isn't any fun, but it really is very important. Of secondary importance is software stability.
Here's my idea for ensuring strategy sanity
This won't cover key security stuff, and I don't have any ideas for that.