Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added Initial Quality Assurance guidelines/flow #94

Open
wants to merge 24 commits into
base: master
Choose a base branch
from

Conversation

jaredkove
Copy link
Contributor

I've combined a few different documents created by us to make up how the flow for QA should look. The idea is to now figure out how we can attain this level of QA on ongoing products whilst we hire in some actual QA resource that knows their stuff.

Description

There are a few sections to this QA document, one being "What makes a good web application?" that goes into detail about blackbox and whitebox testing.

Then there is the process that highlights how we should be QAing our products during their lifecycle. There might be the need to outline process for AFTER the initial development process but we can outline that when it gets to it.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds documentation)
  • Breaking change (This is a significant change)

Checklist

  • I have ensured that I have used relative links where appropriate.
  • I have proofread my documentation.

quality-assurance/core.md Outdated Show resolved Hide resolved
Copy link
Contributor

@dextermb dextermb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've picked up on a few things. What are your thoughts?

quality-assurance/core.md Outdated Show resolved Hide resolved
quality-assurance/core.md Outdated Show resolved Hide resolved
quality-assurance/core.md Outdated Show resolved Hide resolved
quality-assurance/core.md Outdated Show resolved Hide resolved
quality-assurance/core.md Outdated Show resolved Hide resolved
quality-assurance/core.md Outdated Show resolved Hide resolved
quality-assurance/core.md Outdated Show resolved Hide resolved
quality-assurance/core.md Show resolved Hide resolved
quality-assurance/core.md Outdated Show resolved Hide resolved
quality-assurance/core.md Outdated Show resolved Hide resolved
quality-assurance/core.md Outdated Show resolved Hide resolved
quality-assurance/core.md Outdated Show resolved Hide resolved
The developers should log any bugs found in this phase into JIRA to improve their ratio of bugs they find VS bugs that
get through to the QA team/customer.

#### 2 - Sprint Testing (On the master branch)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A possible problem count occur here if QA is testing on the master branch, and development continues on with development of the next sprint in the mean time.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we should mark a version/end of sprint branch that the QA team uses?

Thoughts? @dextermb @AlexCatch @NilesB @DivineOmega @robmilward

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@wheatleyjj What about testing on staging? We should be aiming to push a version to staging at the end of any sprint so it makes sense to do QA on that branch.

Copy link
Contributor

@ash123456789 ash123456789 Dec 12, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree with @AlexCatch about testing on staging since that is essentially a development environment anyway.

Copy link
Contributor

@DivineOmega DivineOmega Dec 12, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've worked on projects previously with this kind of QA process in place.

At the start of a sprint, a sprint-1 branch would be created. After the sprint is over, QA would begin testing on sprint-1. At the same time a sprint-2 branch would be created (from sprint-1) to allow developers to continue development immediately.

Once QA was happy with sprint-1 it would be merged into mater, and the process would repeat.

Copy link
Contributor Author

@jaredkove jaredkove Dec 20, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ash123456789 @AlexCatch I think that testing on the customers environment would cause annoyances to the client if they're using it regularly.

Ways around this are sprint branches as I and @DivineOmega suggested or having a development environment - but that comes with another layer of grief. I'm also thinking experienced QA testers will have good knowledge of automation tests so would be able to look into both the Blackbox/Whitebox sections of this document more easily if they have it running locally.

Thumbs up if you agree?

Copy link
Contributor

@DivineOmega DivineOmega Jan 22, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@wheatleyjj Agree with the sprint branches and/or development server idea. 👍


**Registration**
* Email addresses are verified & unique (if applicable)
* Passwords meet minimum standards (min 8 chars)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I never wrote this for explicitly Laravel - it's just a general web assurance guide to ensure that the projects we write for Web, irregardless of technology, all follow the same basic principles, the steps outlined can be applied to any web stack.

Copy link
Contributor

@DivineOmega DivineOmega Dec 12, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could do something similar to the following.

Suggested change
* Passwords meet minimum standards (min 8 chars)
* Passwords meet minimum standards, as defined by [NIST Special Publication 800-63B section 5](https://pages.nist.gov/800-63-3/sp800-63b.html#sec5). If using Laravel, ensure the [Laravel NIST Password Rules](https://github.com/langleyfoxall/laravel-nist-password-rules) is integrated.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm against blanket enforcing the NIST rules due to their complexities and it would cause a significant barrier to entry for social apps (registration processes) and uptake to those platforms.

For that reason I think a lower level as a minimum (8 Chars) is enough, but its preferable in our enterprise software to opt for NIST specification.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* Passwords meet minimum standards (min 8 chars)
* For enterprise software, passwords should preferably meet standards defined by [NIST Special Publication 800-63B section 5](https://pages.nist.gov/800-63-3/sp800-63b.html#sec5). If using Laravel, ensure the [Laravel NIST Password Rules](https://github.com/langleyfoxall/laravel-nist-password-rules) is integrated.

@wheatleyjj New suggestion based on your feedback.

quality-assurance/core.md Show resolved Hide resolved
quality-assurance/core.md Show resolved Hide resolved
quality-assurance/core.md Outdated Show resolved Hide resolved
quality-assurance/core.md Outdated Show resolved Hide resolved
@DivineOmega
Copy link
Contributor

DivineOmega commented Aug 14, 2019

@jaredkove Would you be able to resolve conflicts here and handle the unresolved conversation(s)?

I think it would be great to get this PR merged in. There is a lot of useful information here.

@DivineOmega
Copy link
Contributor

Resolved the conflict for you. 👍

@robmilward robmilward mentioned this pull request Aug 15, 2019
1 task
* Passwords should not have maximum length restrictions (allow at least 255 characters).

**Emails**
* Emails look good on small form factor devices
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Might be worth mentioning ensuring the HTML and CSS in the email works on the popular clients if custom HTML and CSS is being written. There are good resources such as this guide which lets you search by email clients.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants