TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

QA? We don't need no stinking QA

54 点作者 tariq超过 13 年前

23 条评论

absconditus超过 13 年前
I have been working in QA for a few years now and have made several observations.<p>* The people who are good at QA usually have the skills to work as a developer. QA is generally not as desirable as development to a young developer, so why do it?<p>* Many QA people are almost completely useless and exist just to generate paperwork so that the company can cover its ass. Warning signs for bad QA people seem to be certifications and fear of anything that does not strictly adhere to classic waterfall development. The bulk of all defects are found by a small number of people on my team.<p>* Most developers are horrible at testing and writing unit tests. We have thousands of unit tests and the main thing that they catch is that someone did not update the test after refactoring code.
评论 #3030393 未加载
评论 #3031093 未加载
评论 #3030659 未加载
评论 #3030389 未加载
kabdib超过 13 年前
On the other hand, I've seen QA groups who do no QA at all. Instead, they do frameworks.<p>"We need a test framework" are terrifying words to me. It means that I (the dev) will have no one at my back. It means that tests will be written by junior QA engineers (the senior ones are off writing and maintaining the framework, right?). It means that I am responsible for my own tests, because /no one/ else besides the customer will be testing my code.<p>That's generally all right; I think I do a good job. But not everyone does; some devs think they can toss code over the fence to a group that will tell them if it worked or not.<p>Everyone is responsible for quality; Devs must do unit tests, but they have blind spots and that is what QA is for, namely higher-level assurance that things are working as intended.
评论 #3030845 未加载
评论 #3030490 未加载
评论 #3030669 未加载
imperialWicket超过 13 年前
I could not agree more. And not only should all projects include QA, but they should include QA by an actual quality assurance analyst or team. QA performed by minimum wage (or low payed) temps or short-term services tends to be next to worthless. Also, don't even think about using a spreadsheet to track issues.<p>QA needs to be done, and it needs to be funded. Everything you put into will return in less development time (overall, not necessarily in the short term), and more satisfied users.
wccrawford超过 13 年前
I mostly agree.<p>That MMO that is getting away with using customers as QA, and only fixing bugs that NEED fixing? I bet they're making a nice profit. I'm sure the customers are annoyed, but in my experience, gamers won't quit playing over bugs. Bad customer service, price hikes, etc... Sure. But not bugs. Even if they stick around for years.<p>However, business applications are a different story. Businesses can't afford to be stopped from doing what they need to. And a QA person makes all the difference in the world there.<p>For those that don't understand why, a programmer can't find their own bugs because they've already done their utmost to find bugs in the code. They've already stretched themselves to the limit before they sent the code to QA. You can train, coddle, beat, or otherwise influence them and only get a few more bugs found by programmers. It's much better for everyone's sanity and wallets if you just pay for proper QA.
评论 #3029970 未加载
评论 #3030017 未加载
Yhippa超过 13 年前
One financial services company I worked at a long time ago was getting caught up in the Lean hype. We did process maps of nearly everything including our dev process. They put a big red circle around the QA piece noting that it was a candidate for elimination since it was not value-add.<p>That is parts like coding and deployment were necessary because they actually were important and helped move business ideas to the customer. QA to them was a redundant step. This coming from a shop that avoided automated testing because it was too expensive.<p>I was disappoint. QA to me is insurance against being human (which we all are). The ended up not getting rid of QA but the fact that they seriously considered it was shocking.
评论 #3030221 未加载
dustingetz超过 13 年前
quoting Linus: "There really are only two acceptable models of development: 'think and analyze' or 'years and years of testing on thousands of machines'"[1]<p>i would never say that "we don't need no stinking QA", but i do believe that teams who live by "think and analyse" need QA a lot less than teams who don't.<p>[1] <a href="http://www.dustingetz.com/linus-think-and-analyze-motherfucker" rel="nofollow">http://www.dustingetz.com/linus-think-and-analyze-motherfuck...</a>
评论 #3030652 未加载
评论 #3032761 未加载
评论 #3030467 未加载
评论 #3030366 未加载
DanielRibeiro超过 13 年前
For startups you usually don't have enough people to have QA team. Therefore you have to take a more lean approach: Build Quality In.<p>On the other hand, when you are building your MVP, progress is not built features, but validated learning. So QA tasks takes more of an approach of building measuring tools (which have to be done by the people building the MVP).<p>Even on a later stage startup, QA takes a whole new role, specially when you start doing continuous deployment and start developing immune systems. These can get quite complicated (think of Netflix Chaos Monkey[1]), and having a dedicated team can be beneficial.<p>What we don't need is a 20th century waterfallish QA. But ensuring the quality of a product[2] has never been more important.<p>[1] <a href="http://www.codinghorror.com/blog/2011/04/working-with-the-chaos-monkey.html" rel="nofollow">http://www.codinghorror.com/blog/2011/04/working-with-the-ch...</a><p>[2] <a href="http://www.ashmaurya.com/2011/06/your-product-is-not-the-product/" rel="nofollow">http://www.ashmaurya.com/2011/06/your-product-is-not-the-pro...</a>
评论 #3031219 未加载
steve8918超过 13 年前
One thing also needs to be mentioned, is that supportability of features also needs to be something that has to be addressed early on. The unintended consequence of continuing to support every single combination of every single option makes your support matrix, as well as your QA effort, enormous, and your code incredible unmaintainable.<p>I work at a company where they have a 5 year old product, and the mentality at the time was "Yes I know it doesn't make sense but if the user does X, then it could cause the server to crash, so let's do Y." This grew to a series of matrices that has now turned the act of adding 1 single feature into a 3 pages worth of "If A then B, otherwise C". This has made the QA effort in terms of testing incredibly complex, and even developers get confused as to what is supported and what isn't.<p>For example, there is an instance where copying a directory takes a different code path than copying a single file. Why? Because they wanted to "special case" this situation. It makes the functionality and behavior utterly unpredictable.<p>The takeaway that comes with experience is don't spend too much time trying to prevent your users from doing stupid things. If they want to do stupid things and the system crashes, it's okay to say "Don't do it, otherwise it will crash." This keeps your feature set, your code, and your QA effort much cleaner and more maintainable over the long haul.
ecaradec超过 13 年前
I worked with the Windows QA of XBox for a while and it was totally awesome to have super detailed information on bugs, where they occured and how often, with core dumps and stacks in case of crashes.<p>Users and bosses thinks they have done more than their duty when they said you that "it doesn't work", "nothing work" without more details. You have to run after them to get more context and detailed information.<p>I love QA.
bobbles超过 13 年前
I'm really glad to be working for a company that has the QA team involved from requirements to production (&#38; maintenance thereafter).<p>One of the major problems can be keeping the newer people &#38; graduates interested in the testing &#38; QA process. There can be a lot of 'grinding' through test cases and I guess it takes a certain mentality to get through it on some days.
hello_moto超过 13 年前
Sometime one must experience both side of the fences in the software development process.<p>I've been a QA, QA Developer, Developer, and Integrator during my internships.<p>QA is often the less honoured role of all. This creates a stigma that QA is some sort of crappy role to be in.<p>Being second class citizen requires more support than ever to work at the top day to day. Unfortunately, most people are not built that way so quality degrades because QA was treated like crap.<p>This leads to less advancement in the QA community because it's not a good role to be in. You only see a few books and a few noted experts in the QA community that continue to push better practices.<p>At the end of the day, it's a loss for all of us.<p>I wish there's none or minimum differences between QA and Developer as I agree with one of the comments here that if you do that, there will be more jobs created and IT professionals can experience different roles within our world.<p>My opinion is that QA should have a wide range of skills from load/performance testings (that means knowing the tools and statistics), automation testings (that means if DEV created hard-dependency issue that is not easily testable, QA should step in and teach DEV the patterns and best practices to avoid such situation), QA should understand business practices to beat up stupid Business Analysts.<p>More importantly, QA should keep track deficiencies and ineffectiveness during the development and potentially offer solution (or can be done through group discussions).<p>Unfortunately, that's not how the world works. Telling someone that he's not efficient or pointing out where the most bugs occurred when the team lead is the one whose responsible for the feature isn't desirable.<p>Not to mention that certain type of companies don't necessarily get the most ROI from having QA (if your typical Web 2.0 social networking tagging machine had a few issues, users probably complain but everyone will move on).
bitmage超过 13 年前
Ugh. I worked QA years ago and swore to never do it again. Management hates you because you're telling them the product is not ready to ship. Developers hate you because you're pointing out their errors. No one has your back, and everyone wants to blame you.<p>The company had literally fired the whole testing department previously for saying the product wasn't ready. With those annoying testers out of the way, out the door it went. And promptly had multiple emergency point releases the following week to fix showstoppers cropping up at the customer sites.<p>That got them to create a testing department again - but it was still without honor in the company. And firing the whole group again was often discussed, as they were _still_ delaying releases by finding bugs!<p>I departed. They got eaten in a merger several months later.
评论 #3031099 未加载
评论 #3032310 未加载
alain94040超过 13 年前
Relevant: why QA jobs are more fun than developer jobs <a href="http://blog.foundrs.com/2011/09/19/why-i-prefer-testing-over-coding/" rel="nofollow">http://blog.foundrs.com/2011/09/19/why-i-prefer-testing-over...</a>
jrockway超过 13 年前
QA is the wrong solution to this particular problem. The problem is that in Java you can call methods on uninitialized objects. If Foo can "foo" and Bar can "bar", Foo can't "bar". But if you have "null", then suddenly it can "foo" and "bar" even though it's not a subtype of anything that can do that, and it doesn't implement those methods itself. Does that sound fucked up? Well, that's because it is.<p>QA is nice, but it's a finite resource that you should save for things that actually matter, not stupid things that a computer can fix for you in 30 seconds.
评论 #3030802 未加载
mrgoldenbrown超过 13 年前
I would have liked to see a more realistic discussion of when QA helps the bottom line and when it doesn't. Plenty of software is sold and tolerated by users despite having bugs. If Microsoft waited until the bug count in Windows was 0, they would never ship, and would go out of business. In other words, this blog post is telling us that the correct amount of QA is higher than "no QA", but it is not helping us determine what the right amount of QA is.
评论 #3030235 未加载
评论 #3031236 未加载
pavelkaroukin超过 13 年前
While I agree we need QA (today), I would like to see different expectations.. Expectations that over time we will need less and less QA work.
YetAnotherAlias超过 13 年前
I don't have much to add to the discussion. I just want to vent a bit of frustration. I came in this morning and found out that 7 of my co-workers were just laid off. We are a 30 people company so thats quite a big deal. And some of my good co-workers in QA were axed. I guess some management guy thought QA was unnecessary. Oh this seems to start to look like 2008 all over again!
评论 #3030441 未加载
aidenn0超过 13 年前
I think the big thing that confuses people is that at a lot of companies with QA, QA is really "testing and QA" testing can (and IMO should) be done by the developers, and when people have seen QA as primarily being testing, they think they can do without if the developers take on testing.
Shenglong超过 13 年前
Question:<p>When you're doing QA on a product, do you worry about border cases? I found quite a few bugs related to time syncing and inadequate safeguards in a project I worked on - but they were difficult to reproduce without a macro.<p>I'm still not sure whether people were happy or angry with me, for reporting all those bugs.
评论 #3032674 未加载
jfricker超过 13 年前
I used to run a QA department for a large e-commerce company and love what this article has to say. Nothing gets executive attention like putting a dollar value on downtime (like $1k per minute on a slow day).
TwoBit超过 13 年前
I question how much good QA did for his project (Delta Graph), because it was so buggy it was nearly unusable.
greenfield超过 13 年前
A quibble: Although I have never doubted the importance of QA in the web development process (it can save your bacon), in most cases I do find it rather absurd and bit of a mockery when those who practice QA in a web environment are allowed to have the word 'engineer' in their job title. Does anyone else agree?
评论 #3032769 未加载
pointyhat超过 13 年前
I worked at a QA-heavy financial organisation.<p>The only reason they needed QA is the software was a giant toilet-clogging turd. There were no formal unit or integration test cases so it was used to catch regressions against massive test plans knocked up in Excel, Word and god-knows what else.