This is a public repo that is meant for anyone to join in and collaborate on. The goal is simple: Create a Test Automation Framework to test as much of lolesports.com
and other League of Legends websites as we can.
This is primarily for the participants at QA at the Point
and all communication is done in our Slack group called QA Utah
. If you are not actively at QA at the Point or live in Utah, you are still very much welcome to join in! Also, feel free to reach out to me if you'd like to be invited to the QA Utah Slack group.
Each participant is called an "Autobot" and so our channel is called #autobots
on Slack.
Create a Dev
directory on your "root" and then fork
or clone
the repo down into your newly created directory and get started!
- Windows:
C:/Dev
- Mac:
/users/carlos/Dev
Everyone in training has been told to use Visual Studio Community
(free on Mac or Windows), but you can also use VS Code
. If you are unfamiliar with the ins and outs of VS Code or are newer to C#, please use Visual Studio Community
.
Download the .NET Core 2.1 SDK and install it on your machine
- https://dotnet.microsoft.com/download/dotnet-core/2.1
- Click on .NET Core Installer for 2.1.XXX (latest 2.1)
- Course: Scaling Tests with Docker
- checkout the
demo/scaling-with-docker
branch
- checkout the
As of this writing, the easiest way is to run one of the following in the command line:
-
dotnet test --settings .runsettings --filter testcategory=standings
- Run tests based on category
-
dotnet test --settings .runsettings --filter name~lcs
- Run tests based on name
Microsoft's documentation on their dotnet test
command can be found here:
All of the work is being tracked in the Issues
tab. Autobots are using a very simple Kanban board, but all work is divided into Issues with labels. The Label System should be used and adhered to:
- Any work being done should be recorded as an Issue. If there is no Issue tied to what you are working on, create one! Label it with the appropriate
type
and give it as much detail so you can mark it asready
. - Each Issue should have a solid
Title
,Description
, andAcceptance Criteria
. If not, it will be marked with themore info
label and any PRs from it will be denied. - Each Issue should have at least one
type label
andstatus label
.
changes requested
code review
help wanted
in progress
more info
ready
bug
enhancement
test
- Once the Issue is created, start working on it! Create a branch where you will make your changes (or work in your fork), and once you feel satisfied that you've met all Acceptance Criteria, submit a
Pull Request
(PR) and assign Carlos akaElSnoMan
as the Reviewer. Do not touchmaster
in any situation without Admin approval. Do not pass Go and collect $200. Offenders will be removed from the repo.
Issues are used to track the work being done, especially when there are multiple people working on it. The Label System is simple and makes it easy to know what is being worked on, what's in the backlog, and what the status for those tickets are.
The Issue Type should be the very first label that is added to an Issue.
bug
- Any bugs found in our code and/or tests should be labeled with thebug
typeenhancement
= Any refactoring, editing, or additional code. Most Issues will be this typetest
- A Test that needs to be written. These act like User Stories since they usually require 1 or more enhancements to be completed. Any new test or changes to existing tests should be labeled with thetest
type
What is the current status of the Issue? Use these as if there was not a Kanban board because not everyone has access to it. This is the bread and butter of the Label System and each Issue should be as "true" as possible at all times.
changes requested
- only Admins should use this label. This means thatCode Review
is complete and your PR has been deniedcode review
- use this label once you have submitted your PRhelp wanted
- this is aflag
that is used with a status. Use this anytime you need help with anything on your Issue. Need help writing better Acceptance Criteria or envisioning the finished product? Need help coding, debugging, or running into IDE issues? I would ask that you reach out to me after labeling withhelp wanted
, otherwise I'll reach out to you once I see it.in progress
- this is actively being worked on by you. The Issue should also be assigned to you if it isn't already. If you start it and then let it go stale, please unassign yourself and put it back into theready
status.more info
- if your Issue requires more information to be completed, then this label will be used and other statuses will be removed.ready
- the Issue is ready to be worked on
- I just came up with a cool idea for a test. I'll create the Issue and give it a title: "Test Foo".
- Add
type: test
label - I give it as much information as I can but I'd like to review it with the team next Thursday. Add
more info
label - On Thursday we groom the Issue and give it the necessary info. Add
ready
label and removemore info
label - I start working on it. Add
in progress
label and removeready
label - I run into a blocker and need someone's help. Add
help wanted
label and KEEPin progress
label. - Carlos is awesome and we work through the blocker and finish the Issue and submit a PR. Add
code review
label and removein progress
label - Approved by Admin and archived. Woot!
Please feel free to reach out to me using any of these:
- LinkedIn: https://www.linkedin.com/in/carlos-kidman/
- Twitter: @CarlosKidman
- YouTube: https://www.youtube.com/channel/UCNvYBOCETf7MByrYKDTU3fQ