Earlier quoted context omitted.
Some of QA is technical needlessly; we think that's a common issue with tooling today. QA today is just not accessible to folks that think about and manage change to the product, namely product folks. Why don't you think it should be part of product? Love that your department is called "Quality", implies more metrics-less-feeling before reading the doc.
> folks that think about and manage change to the product, namely product folks It's weird to me that the software engineers building the product are not viewed as "product folk". The people designing the architecture for and building the actual product aren't managing the changes to it or concerned about it? The people who have to address any defects in it aren't concerned about their processes as they pertain to qu…
Asking developers to do QA is broken – why anyone should own QA
171–180 of 193 posts
Re: Asking developers to do QA is broken – why anyone should own QA
#172In my experience (and I have a great deal of that), true product Quality is dependent upon an endemic cultural philosophy of an organization; not a single tool or technique. It's a shared discipline , and a cultural imperative. It's like those ads for exercise machines, where professional athletic models, who train for five hours a day, and drink broccoli smoothies for lunch, are shown using a machine for a couple of…
First off, we totally agree on this: "true product Quality is dependent upon an endemic cultural philosophy of an organization." What we're asking you to consider is how much of that is because the tooling is shutting out the roles who are naturally incentivized to care about product quality ? I think your broader thesis, while amusing, is ignoring some of the biggest and most valuable brands ever created... Apple, R…
Hey, thanks for the condescension. I thought we didn't do things like that on HN, but I am often wrong.
I actually worked for one of them "biggest and most valuable brands" for a couple of decades, so there's a good chance that my "thesis" might have legs.
Look, I actually agree with a lot of what you wrote, but I wasn't deliberately calling your baby ugly, and don't really appreciate the reaction. I did not mean to attack you, and am actually sorry that my comment was perceived as such. If I could delete the first line of my comment, I would. It's accurate, but I can see it as being inflammatory.
[EDIT] I'll see if @dang, or someone, can delete it.
Re: Asking developers to do QA is broken – why anyone should own QA
#173Earlier quoted context omitted.
Hi author, I found parts of this downright wrong, especially on the Cypress side, which is where I have the most familiarity: >Compare this to code-based automation solutions like Selenium or Cypress, where a coder would need to manually update the code across all the relevant tests any time the product changes. ... Well, no. Those tools can have reusable chunks and references that work just like your steps and are o…
We have a free trial - you should try it instead of criticizing theory, I would love to get your feedback on the actual product, here or directly (I'm fred@rainforestqa.com). Regarding DOM interaction, you're missing the point. All automation that tests the front end code, regardless of how it attaches, is using a path that is different from your end user . The end user interacts with the application visually. That's…
Not all users interact visually. Selecting interactive elements through accessible labels, not based on visual appearance, is a better practice imo. I want important parts of the DOM that are critical to building a correct accessibility tree to be a part of the test, and to fail the test if we change something that makes the accessibility tree incorrect. Because that is the API for assistive technology and it communicates the user interface for lots of people. "Correct behavior" of an app or website includes "the accessibility tree accurately reflects the structure and nature of the content" and "form fields are labelled correctly". I might be in the minority in thinking that, but I believe it 100%.
Nothing I've seen so far (including the post you linked) suggests that the OCR-like approach can tell us anything about the accessibility tree.
The post does make a similar point to mine:
> If your app changes visually, your test will fail. This is of course a tradeoff and a conscious decision to couple your tests to your UI instead of your code, but the upsides bring much more value than that the downsides take away.
I disagree on the tradeoff. I can run screenshot diffs etc to catch unexpected UI changes, they are a little noisy, but I'm ok with that tradeoff because I care about more than just the visual appearance of the app.
A "visually correct" app with click handlers on divs and no semantic HTML is a liability (legally, maintenance wise, etc).. I'd like the E2E testing tool to assert that the app is working correctly, which does mean some assertions about the DOM are appropriate to me. I agree with the author of the linked post that "we want a solution that is not brittle in unwanted ways." We can be selective about what DOM things are important.
In the linked post the author says "In particular, DOM tests are tightly coupled to the structure of your code." and gives an example about a Selenium test that uses a brittle xpath that depends on a specific DOM structure.
Maybe I have not been exposed to enough of the industry to know that there are thousands of setups relying on flaky xpaths to target elements for testing. To me, it is not true that DOM tests are tightly couple to the structure of your code by default. It's a false statement made for marketing purposes and it is gross.
DOM tests "can be flaky", "are sometimes coupled to DOM structure" or whatever, is a fair assertion, but flakiness in DOM-driven testing is not a fact, it's a sign of badly written DOM-based tests. This is often the first thing I address in a code review of new tests written by somebody who does not write lots of FE test code, and they easily learn how to avoid it.
Maybe I'm wrong but it seems really really basic stuff to not create brittle selectors that fail tests for reasons we don't care about.
I like the OS-level interaction and agree that provides some advantages. I totally disagree that these advantages mean your solution wins at the "best way" to test, but it does clearly cover a different surface area than other automated solutions for E2E testing, and it seems like tests are pretty quick to knock out.
This solution could be a complement to other automated E2E tests, and I would see no reason that a PM or other party couldn't spin up and maintain some tests this way as quick-to-create set of tests to run against various builds, knowing that design changes will break them but that this is OK cause in theory it is quick to rewrite them.
But I couldn't see using this tool as the only E2E testing solution as though it is a superset of what Cypress/Selenium/Whatever tests are capable of. It is actually not a competitor with those tools. It's addresses different concerns with a little bit of overlap.
I'm happy to check out the free trial and see if I'm missing something, and eat crow if I'm being unfair here.
Re: Asking developers to do QA is broken – why anyone should own QA
#174Earlier quoted context omitted.
They don't have time, so they'd have to scale it, and once you scale it you basically are building a siloed QA team anyway.
Well, then they are doing it wrong. Or maybe "my" process only scales so far... It worked well for me at this scale: 30 developers, 10 QA people, 3 ux people, 2 product people "vs" 50 sales people. There was also a separate delivery/consulting team of about 50 people which was important early on for revenue.
Re: Asking developers to do QA is broken – why anyone should own QA
#175Earlier quoted context omitted.
This can absolutely be learned, enabled, and encouraged by the right guidance and, if necessary, training at the dev-team level. It's just part of the job.
for what kind of software? if your product is e.g docker, git - then yea, easily if it's soft for different industry, then complexity increases
Re: Asking developers to do QA is broken – why anyone should own QA
#176Re: Asking developers to do QA is broken – why anyone should own QA
#177I've been a QA Automation Engineer for 15 years. This is the best thread ever on HN! I've read every single comment. I've found the best approach is for QAs to be embedded right into the product team - where the product team manager is the same person for both Dev and QA. QA and Dev all review each others code. QA reviews the Dev unit tests, and Devs review the QA integration tests (API and UI). QA may not be able to…
Re: Asking developers to do QA is broken – why anyone should own QA
#178Asking developers to own QA is broken because developers are naturally biased towards the happy path. If you want to build a bar, you need someone to order -1 beers[1]. Handing off QA to an external team is broken because those people don't have the necessary experience with the product, nor can they quickly and easily engage with development to get to the heart of a problem (and a fix.) Having QA rely exclusively on…
To my surprise in subsequent roles, I've seen many development teams, even good ones, who don't have that deep instinct to break their code via tests. Which was very alien to me. I've seen enough cases now to realize it's somewhat common. For such teams, separate QA engineers are a must.
I still feel having quality responsibility in the engineering team ultimately can offer the best quality outcome, but only if you can build a team with the right attitude about testing. If not, having a separate QA team is vital.
Re: Asking developers to do QA is broken – why anyone should own QA
#179I've been a QA Automation Engineer for 15 years. This is the best thread ever on HN! I've read every single comment. I've found the best approach is for QAs to be embedded right into the product team - where the product team manager is the same person for both Dev and QA. QA and Dev all review each others code. QA reviews the Dev unit tests, and Devs review the QA integration tests (API and UI). QA may not be able to…
Having QAs that technical would be amazing. Most of the time I find that anything more complex than basic JSON editing is the limit of their technical abilities.
Re: Asking developers to do QA is broken – why anyone should own QA
#180Earlier quoted context omitted.
First off, we totally agree on this: "true product Quality is dependent upon an endemic cultural philosophy of an organization." What we're asking you to consider is how much of that is because the tooling is shutting out the roles who are naturally incentivized to care about product quality ? I think your broader thesis, while amusing, is ignoring some of the biggest and most valuable brands ever created... Apple, R…
> I think your broader thesis, while amusing, is ignoring some of the biggest and most valuable brands ever created... Apple, Rolex, Mercedes... Hey, thanks for the condescension. I thought we didn't do things like that on HN, but I am often wrong. I actually worked for one of them "biggest and most valuable brands" for a couple of decades, so there's a good chance that my "thesis" might have legs. Look, I actually a…
Have a great summer!