Slashdot Mirror


A Case For a Software Testing Undergrad Major

colinneagle writes "I have spent the last couple of days at the StarEast conference, listening to people explain to a roomful of testers about modeling workflows and data transitions, managing test environments in the cloud, writing automation scripts for regression tests, best methods for exploratory testing, running mobile test lab. And as I look around the room at the raw intelligence of the people who are not only absorbing that information but probing deeper into it during the Q&A sessions, I have to wonder how much easier their careers could have been if they had been able to major in Software Testing in college. It's time to give employers a testing workforce that is competitive and trained so they can stand toe-to-toe with the development team. Imagine the power of being able to hire a recent college graduate who has been taught how to develop system diagrams, build complex SQL, run log analysis, set up a cloud test environment, and write automation scripts. No more crossing your fingers that this eager young face in front of you can really pick up those skills, and no more investing so much time and money in training them on the job. We ask no less from Technical Writing and Development. Why do we have such different expectations for one of the most important functions on the team?"

33 of 220 comments (clear)

  1. Population control by linear+a · · Score: 4, Funny

    People get this major, get a job, blow brains out...

    1. Re:Population control by linear+a · · Score: 2

      Not objecting to tested software - that's a good idea. Can't imagine that a career testing software would be compelling. You'd get yelled at from the user and from the dev side, except for the more thoughtful devs.

    2. Re:Population control by dcollins117 · · Score: 3, Insightful

      Can't imagine that a career testing software would be compelling. You'd get yelled at from the user and from the dev side, except for the more thoughtful devs.

      I can't imagine being a marriage counselor is much better - you have to be able to deal with a lot of anger. Still, there are people who still do it. One I talked to flat out said that other people's anger doesn't affect him. This is the type of guy we need doing software testing!

    3. Re:Population control by Jane+Q.+Public · · Score: 2

      I have no issues with software testing as a career. I would definitely prefer it to, say, being a hairdresser.

      But to me, making software testing a college major would be like making "Social Networking" a college major. A programming specialty? Sure. Major? I don't think so.

  2. Specialization - sure. Major - maybe. by cold+fjord · · Score: 4, Insightful

    It is fairly common to see electrical engineers specialize as either design or test engineers, in function if not career. But as far as I've seen, they still have the same academic training. I'm not sure that software would need to be done differently, at least at the undergrad level. Although I do think that having more course work available on testing would be a good thing.

    --
    much of left-wing thought is a kind of playing with fire by people who don't even know that fire is hot - George Orwell
    1. Re:Specialization - sure. Major - maybe. by phantomfive · · Score: 2

      Dijkstra didn't like testing classes?

      Incidentally, my university offered a testing class. I looked through the textbook once, it had all kinds of advanced testing methodologies, etc. Pretty good. In all the years I had information for, the class was never taught because no one ever signed up for it. The interest was zero.

      --
      "First they came for the slanderers and i said nothing."
    2. Re:Specialization - sure. Major - maybe. by Cenan · · Score: 4, Insightful

      It needs to be required curriculum.
      The shitty developers won't even know they need it, the rock star developers think they're too good to need it. Although, I took the course on testing with my degree and now other developers just piss me off for even more reasons, so that might be a reason not to teach it.

      --
      ... whatever ...
    3. Re:Specialization - sure. Major - maybe. by rnturn · · Score: 2

      ... the class was never taught because no one ever signed up for it. The interest was zero.

      Probably because: a) students' friends who'd already graduated reported back that their employers didn't give a damn about doing much testing and b) it definitely isn't something that pulls down the big bucks.

      It seems to me that testing is barely being done if at all. I think that any one who takes a look at the state of the SW market sees that; especially web applications (though I may be finding more fault in their nearly complete lack of what was once called "human factors" testing and that really needs to be done in the design phase, IMHO). I used to work with a couple of guys who were software testers for a while. It was very, very under-appreciated. You end up being the pain-in-the-ass who caused either the delivery date to slip or the Death March needed to fix the problems. ("Gee! Where do I sign up?") Both of those problems could be solved by putting the Marketing people in their place; product shipping dates aren't set until all the testing has been done. First to market with a piece of crap doesn't do the company any good.

      --
      CUR ALLOC 20195.....5804M
    4. Re:Specialization - sure. Major - maybe. by Yold · · Score: 2

      The lack of courses on testing is probably due to the immortal spirit of Knuth looking over the CS curriculum committee members' shoulders.

      Reminds me of one of my favorite quotes by him:

      Beware of bugs in the above code; I have only proved it correct, not tried it.

    5. Re:Specialization - sure. Major - maybe. by Grishnakh · · Score: 4, Insightful

      The whole idea is utterly stupid. It's bad enough that people become hyper-specialized during the course of their careers, but asking 18-year-olds to decide on which exact specialty they want makes no sense at all. That's why university degrees are supposed to give you a broad foundation, with only a certain amount of specialization in an undergrad major (and only in the last two years there usually). Furthermore, as you point out, having EEs get the same degree and specialize later works just fine, and for good reason: you need to understand how stuff works in order to test it properly.

      A class on software testing in the CS curriculum would make a lot of sense, but a whole separate degree is ridiculous.

  3. Developer? by andy1307 · · Score: 4, Insightful

    Imagine the power of being able to hire a recent college graduate who has been taught how to develop system diagrams, build complex SQL, run log analysis, set up a cloud test environment, and write automation scripts.

    If I can do all this, why would I want to remain a tester? Why wouldn't I get into development?

    1. Re:Developer? by phantomfive · · Score: 4, Insightful

      If I can do all this, why would I want to remain a tester? Why wouldn't I get into development?

      Believe it or not, some people actually like testing. I don't understand these people, but it takes all types.

      --
      "First they came for the slanderers and i said nothing."
    2. Re:Developer? by Anonymous Coward · · Score: 3, Interesting

      It takes a certain amount of a sadistic personality to be a good test guy. You have to inherently get that little smile whenever you find someone else's screw-up. It's like playing cops and robbers. Yeah, the robbers get a rush out of taking things, but the cops get a rush out of catching the robber in a mistake.

    3. Re: Developer? by DrGamez · · Score: 2

      But you don't have to know what obscure codepath (and the resulting fix if it's a strange enough edge-case) the program is taking to unearth this bug - you just know the strange steps you had to do to reproduce the bug.

    4. Re:Developer? by TheLongshot · · Score: 2

      Because there is a certain personality type that is wired for testing. They are the guys who can put themselves in the seat of the user and think of the nastiest ways to tear apart your program from the user's point of view. Some of the best testers I've run across have come up with the most outrageous ways of breaking my program, I wonder how the hell they thought about what they were doing.

    5. Re:Developer? by Cenan · · Score: 2

      If that was the only requirement we'd all be cheering every time an end user submits a bug report. We don't. We. Do. Not. At. All.

      Pointing out that "The program is broken" is a very fucking far cry from submitting "The program crashes when the user presses the print button but the window leaves focus before the event fires".

      --
      ... whatever ...
    6. Re:Developer? by Uber+Banker · · Score: 4, Insightful

      Imagine the power of being able to hire a recent college graduate who has been taught how to develop system diagrams, build complex SQL, run log analysis, set up a cloud test environment, and write automation scripts.

      If I can do all this, why would I want to remain a tester? Why wouldn't I get into development?

      Because a tester is not a developer? While some testers are wanna-be developers, IMHO the author of TFA seems to get some things horribly mixed up, despite her position and experience. Developers unit test their code, and smoke test the product, surely? That's the job of a developer. Testers should have an understanding of development principals to faster nail the bug and help the developer, they mostly need to understand:

      • Business requirements: How to translate these to testing scenarios;
      • How to identify what's a show-stopper, something major, and something that's an error but doesn't hinder functionality as defined in business requirements;
      • How to go head-to-head with a developer face-to-face, via email, or via telephone and motivate the developer to prioritise their fixes; and as testing is typically at the end of the development cycle
      • How to project manage a lot of conflict. Communications are more important than knowing how to set up a development environment, though both are useful.

      A developer, seeking to do the above, while still in their heart a developer, is not going to enjoy their job or be as good at it as a tester, unless they really like punishing themselves. They'll also be a lot less respected by the actual developers than a sassy tester who just loves doing the above.

      The best testing teams I've seen are those with a big mix of varied technical and arts skill. A lot have been in emerging economies: English language majors are increasingly important.

    7. Re:Developer? by pspahn · · Score: 2, Insightful

      You probably would need to be rather humble as well. I would imagine a good proportion of the screw-ups you'd find would be reported, and then a week later you hear back that "this bug is not critical" and it ultimately gets ignored because fixing would cascade too much work onto the desks of other people, and there are fishing trips, bbqs, and dance recitals that need to be looked after.

      Of course, then you get to be smug down the road when the product releases, bugs intact, and you can point out to others, "see that bug? I know how to fix it, have told the people responsible for fixing it how to fix it, yet, it never gets fixed."

      --
      Someone flopped a steamer in the gene pool.
    8. Re:Developer? by ahem · · Score: 3, Insightful

      If I can do all this, why would I want to remain a tester? Why wouldn't I get into development?

      Maybe you like breaking things, not building them.

      Actually, I didn't break it, I discovered where it was already broken when it was given to me.

      If I'm doing my job right, I build tools that automatically identify where something is already broken. Then we can use that tool to give actionable insight to the developer about where they strayed before they've swapped their brain to a new context.

      --
      Not A Sig
    9. Re:Developer? by MarcoAtWork · · Score: 2

      Testing can be as hard as development: it's not easy, for example, to develop and execute a test plan for a complex failover in a distributed system, and to be able to give to the developer a good repro case/setup so they can debug things if something went wrong.

      Just like there is 'drudge work' QA there is also 'drudge work' development, but the skill ceiling can be as high in QA as in Dev, because in the end you can think of a strong QA engineer as a developer trying to produce software that will validate your product, which can be as hard as writing it in the first place as you need a very clear understanding of how it should work and why and how to try to make it fail.

      Good QA people are worth their weight in gold for complex software, but finding them (and retaining them, and compensating them properly, and not outsourcing them) is not easy...

      --
      -- the cake is a lie
  4. but then you'd have to pay them by phantomfive · · Score: 5, Insightful

    It's time to give employers a testing workforce that is competitive and trained so they can stand toe-to-toe with the development team.

    But then you'd actually have to pay them like developers.

    Also, I think this is a good example of 'career training' VS 'education.' Do you really want to graduate from college, after paying all that money, and have your primary skill set be "to develop system diagrams, build complex SQL, run log analysis, set up a cloud test environment, and write automation scripts?" That sounds like a couple semesters at DeVry.

    --
    "First they came for the slanderers and i said nothing."
  5. Author doesn't understand what college ed is about by Anonymous Coward · · Score: 5, Insightful

    It's about starting kids on a path that will take them through the remaining 70 years of their lives, not a jumpstart on the job market for the next 5 years (after which a lot of what they learned will be obsolete and not very interesting to employers). Of course, there are professional schools and technical schools that focus on the latter.

  6. Train my employees for free by langelgjm · · Score: 5, Insightful

    No more crossing your fingers that this eager young face in front of you can really pick up those skills, and no more investing so much time and money in training them on the job.

    So, basically, you think it's time for someone else to conduct your on-the-job training at no cost or risk to you.

    --
    "Anyone who [rips a CD] is probably engaging in copyright infringement." - David O. Carson
  7. Why would anyone major in QA? by phizi0n · · Score: 4, Insightful

    The best QA testers are usually the people overqualified for it. They're not doing it because they want to, they do it for a paycheck while waiting to land a dev job. If QA testers start needing degrees then why would anyone choose studying QA over CS when the skills overlap but most of the fun and pay is in CS?

  8. Irony by langelgjm · · Score: 4, Interesting

    About the author:

    For more than 25 years, Lorinda Brandonhas worked in various management roles in the high-tech industry, including customer service, quality assurance and engineering. She is currently Director of Solutions Strategy at SmartBear Software, a leading supplier of software quality tools. She has built and led numerous successful technical teams at various companies, including RR Donnelley, EMC, Kayak Software, Exit41 and Intuit, among others. She specializes in rejuvenating product management, quality assurance and engineering teams by re-organizing and expanding staff and refining processes used within organizations. She has a bachelor’s degree in art history from Arizona State University.

    --
    "Anyone who [rips a CD] is probably engaging in copyright infringement." - David O. Carson
  9. Education is not for job skills by DoctorNathaniel · · Score: 5, Insightful

    The primary purpose of higher education is to develop individuals who are capable problem solvers, who are capable of understanding complex ideas, and who have a broad base of knowledge for the context of those ideas. We need such individuals to have a thriving society and robust democracy. Few people seem to realize this.

    Developing skill sets for the workplace is a decidedly secondary task of higher education. This isn't unimportant, but it isn't the primary purpose. This is why we don't have classes in plumbing or home finance, although those subjects could easily be taught at a university. Purely technical skills are valuable, but only to the degree to which they are generally applicable to a wide field.

    1. Re:Education is not for job skills by femtobyte · · Score: 5, Interesting

      ^^^ THIS. ^^^

      No more crossing your fingers that this eager young face in front of you can really pick up those skills

      On the contrary, this is exactly what a college level education *should* mean:

      We threw fifty different areas of subject matter at the graduate, and she managed to think her way through figuring out all of them. Literature courses, history courses, math courses, physics courses, art courses, chemistry courses, sociology courses --- by now, she's figured out how to take any problem thrown at her, and become highly proficient in four months, and an expert in a year. Whatever specific new skills your job requires, this graduate will pick them up and be pushing the boundaries in no time flat.

    2. Re:Education is not for job skills by femtobyte · · Score: 2

      There's certainly some of both; however, I'd say even the specific knowledge learned in college should be done to provide a broader basis for figuring other things out, rather than learning how to use Corporate Software Tool v.3.8.71 (that will be completely obsoleted by Corporate Software Tool v.4.1.18 by the time you graduate). And, speaking as a person who was at the top of smart highschool kids --- learned calculus by seventh grade, worked in physics labs as a summer job, valedictorian at the city's top academic magnet school, highest number of aced AP exams in the state --- I *did* get *even better* at the "learning how to learn" stuff with four extra years of practice at a good university, while taking many classes with no "directly applicable" knowledge for anything I'll do. Yes, as a high school whiz kid, I would have been perfectly competent to leap right into doing mid-level technical work --- but, at least in my own experience, I'm a heck of a lot smarter (thanks to continuing educational work) now than I was then.

  10. Blizzard Entertainmen's QA Dept ... by perpenso · · Score: 4, Interesting

    Blizzard Entertainment's QA department is widely reported to be the gateway to entry level developer, artist and producer positions. Low level dev and art tasks are occasionally given to aspiring programmers and artists in QA. All with QA management's blessings and cooperation. This is embedded in the company culture. Some very high ranking folks started in QA as a tester.

  11. Not what university education is about by Yold · · Score: 2

    Universities are not technical schools. Ideally, they provide a broad theoretical framework that allows people to develop a career over the next few decades following their graduation. What the article is suggesting is that people be forced to pay for narrow training, pigeonholing them into a career path which may or may not exist (or be practical) in 20 years.

    University education is meta-education. It enables life-long learning. Businesses expecting fresh graduates to have received (and paid for) training in technology-dejour is a disturbing trend in the software industry.

  12. Re:You're asking the wrong question by DrGamez · · Score: 5, Funny

    Airbus Industries certificate 747-400 in Synergistic QoS Management using Microsoft Photoshop OS-X Enterprise Edition version 4.1.8.7b

    I don't know what exactly you do but I feel strangely tempted to offer you a job.

  13. Many testers are paid comparable to devs by 1800maxim · · Score: 2

    But then you'd actually have to pay them like developers.

    Many testers are. Correction - many good testers are.

    Do you really want to graduate from college, after paying all that money, and have your primary skill set be "to develop system diagrams, build complex SQL, run log analysis, set up a cloud test environment, and write automation scripts?" That sounds like a couple semesters at DeVry.

    Agreed. Computer Science is what you learn in university, programming and use of products (such as SQL) is self-learned. If you can't self-learn, you go to Devry.

  14. Why not other IT jobs? (like sysadmins) by oneiros27 · · Score: 2

    About 9 years ago, I applied for a job at a community college -- I even got a haircut, as it was a management type position. My reason -- the position would have some say over curriculum development.

    Just like there's no structured job training for 'software tester' there's also none for 'system admin'. Yes, there are certificate courses, but how do you know if someone breezed through it, or just managed to pass it after taking it 12 times? Some of the best sysadmins I know had degrees that had nothing to do with IT. Some were problem solving (engineering, sciences), others were drop outs (one worked construction for years).

    The only ones I know who have certifications are either (1) completely useless; (2) do consulting work or (3) did it because their job required it or promised them a promotion for it. For Oracle DBAs, class #1 wins.

    Some of the best sysadmins I know worked progressively more difficult jobs, more like you'd expect in the trades than in university education, but don't have some piece of paper from some institution claiming they actually know anything.

    My hope was to pull those taking comp.sci courses, recruit those that had the right personalities for the work, and build up an internal pool of candidates, have 'em work various jobs maintaining the local systems, then place 'em in the various businesses / government agencies in the area (DC metro).

    But I never called back for that interview ... oh well ... maybe it's for the best. I still think that community colleges and the like are better for this sort of thing -- 2 years to completion vs. 4 means that you can better respond to the needs of the prospective employers. And some of these tasks are just better taught on the job rather than than sitting in a class reading books about the perfect implementation (that will take forever to build or be too expensive).

    --
    Build it, and they will come^Hplain.