Our team's approach to the theme of "fostering entrepreneurship" was to balance the advantage that larger companies have over startups/entrepreneurs in being able to staff teams of QA testers to ensure the quality and integrity of their software/product. To this end, we wrote an automated regression suite in Robot Framework, which is an automation language based on Selenium. We followed the Page Object Model in structuring our repository as well as followed the best practices of Robot Framework. So instead of hiring 20+ employees to test a product, a company could kickoff their automated suite and get their results more accurately, quickly, and cheaply.
In order to run this suite, you need to have Robot Framework installed (pip or brew works fine) as well as chromedriver in order to run these GUI-based tests in Chrome (which is what we used, had we had more time we would have made it cross-browser compatible).
Use this terminal command to run the suite after cd-ing into the repository folder:
robot -d results -v PASSWORD=password -v BROWSER:chrome Tests/
NOTE: you can append it with a '-i yourtaghere' with the yourtaghere being a tag specified in the highest level of the POM and it will only run those tests. More information is available in the Robot Framework documentation.
Also, here's a list of commands you might have to run in order to successfully run the suite:
pip install --upgrade robotframework
pip install --upgrade robotframework-selenium2library
pip install webdrivermanager
pip install --upgrade robotframework-requestslibrary
pip install --upgrade robotframework-requests
To view the reports, simply hold CMD (Mac) or CNTRL (Windows) and click the Reports HTML file generated after each run. This reporting is great because at a high level, it allows for non-technical individuals to still understand whether or not their tests passed or failed. However, it is doubly fantastic for really digging in and debugging, as it features specific error logs and screenshots.
We made a mock website (password is 'password') that simulates a small business who runs things from their website. We implemented build verification testing (BVTs) as well as functionality testing, such as pressing buttons and filling out forms. We also implemented negative testing in addition to happy-path testing as to showcase the potential for a fully-developed suite.
That explains our process and reasoning along with a brief walkthrough of a run.