Schedule and Events



March 26-29, 2012, Software Test Professionals Conference, New Orleans
July, 14-15, 2012 - Test Coach Camp, San Jose, California
July, 16-18, 2012 - Conference for the Association for Software Testing (CAST 2012), San Jose, California
August 2012+ - At Liberty; available. Contact me by email: Matt.Heusser@gmail.com

Thursday, August 21, 2008

Post-Graduate Program in Software Testing?

Up the road from my house is a cosmetology school. These people study for six months in order to cut hair(*).

For a long, long time I have considered the benefits of some form of intense school for software testing, but it has ... problema.

First, I would want to attract a certain level of talent, so we would strongly prefer a bachelor's degree from students. But the talented people with four year degrees, who have a least a CS minor, have very little incentive to enroll -- after all, they can just go get a job somewhere.

For the most part, the schools expenses can be funded by recruiters fees for it's graduates; but how do the students cover living expenses for six months? If you want them to be able to get student loans, the school needs to be accredited, and you really don't get accredited for an MS degree. So you'd have to be affiliated with a university or forgo accreditation. (If it's a university, then the instructors need PhD degrees. And the intersection of qualified PhD-professor and world-class-tester is pretty much Paul Jorgensen and Cem Kaner.)

I would lean toward forgoing accreditation. While a four-year degree should be a strong plus, I don't think it would be a requirement. The whole idea is to lean toward the vocational/technical school model. Then again, hairdressers they have a state-based licensing program, which creates a training monopoly.

Anyway, it's an interesting intellectual exercise, even if nothing comes of it.

Then Mike Kelly emails me: It's being done in India right now. And I know a company that teaches testing to Russian immigrants in Silicon Valley.

But both of those are essentially a trade: The school promises to make it's students look attractive to Western Businesses. These businesses will pay an outlandish salary rate compared to what you could make back home in India or Russia, and the training seems to be relatively quick and technical, EG "How to use a specific tool.". Out of those seminal schools, could a responsible, integrity-filled US or Western-Europe based business model emerge?

I honestly don't know.

Regards,

--matt
(*) - ISTQB requires about 24 hours of in-class work to certify a tester. A typical school for hairdressers requires about 1,600. Comparing and contrasting that to any popular software test certification is an exercise for the reader

9 comments:

The Sunshine girl said...

Matt,

Being a former Cosmetologist who in the state of Washington was required to put in 1600 hours of training (now has been upgraded to 1800) and hands on lab work, I am shocked at the 6 months of training Michigan requires.
Now obviously I took that shock and related it into if 6 months was enough time for a testing certification? Now with any field, you get some people who just excel at the field, certification or not right? For example, in New York they are only required to have 1000 hours of training and hands on work, and supposedly that is where some of the best hair and makeup artists reside? Do the talented flock to certain areas? Or are hair cuts better in Washington because we require more for a certification? I don't know the answer to either of those. But I think the question I would have is, who decides what is enough time? Is it based on the skill set of the individual or the amount of time they put in?

Thankfully in the case of Cosmetology in our state, you have to pass a written and a practical to receive your license. Part of this requirement is because you will be touching the public and they need to ensure you won't pass disease with bad practices.
Now that doesn't mean the baddies don't slip through the crack and wack someone's hair off or turn it blue. But it is a standard by which to hold each individual up too.
By the way, on a background note about me, I am not certified as a tester and have fallen into the business because I was in Production Support in my company and realized I was too nitpicky for that department and that nitpickiness would play a better part farther up stream where I could catch the errors prior to them being deployed. That being said, I would love a certification program to go through that would help instill the confidence in myself that I was armed with the best tools to be an excellent tester. Now, who creates that and who sets up the standards is a good question that I haven't answered at all lol. Sorry if this comment is off topic or confusing to what you have posted, but you really peaked my interest with the cross reference to Cosmetology. Thanks for waking my brain up this morning!

Abhinav said...

Matt,

There are dozens (if not hundreds) of companies claiming to impart "Software Testing" education here in India. It is a great way for people to enter the software field, as certain areas of "testing" are still perceived as low cost, low priority - something that can be handed over to people who have done such a course.

The courses typically teach winrunner or other automation software, bugzilla or some bug management tool, and provide "hands on experience" with 1-2 small projects.

Comparing these with a "Post Graduate Program" would be incorrect, to say the least :)

Coming to Primora, it looks much more organized and credible. However, it is still not clear as to what specific skills and tools they cover. The brochure mentions "Test Automation Basics", and scripting, sql etc. A good start, probably - but a long way to go from an actual PG level course.

alan said...

not to nitpick, but that would be silicon valley - not silicone valley.

They're different :}

Jesper L. Ottosen said...

Hi

My testing team (about 15 people) would be a boring place without a diversity of backgrounds: We have a few with master degrees, most have bachelor equvivalents. About half have technical/CS degrees. (and we have more girls than the dev teams down the hall ;).

But then our domain is not applicationspecific, but business process oriented, so our domain requires more than a good pair of scissors... :-)

Alan said...

Boy - both of my comments are nitpicks - I must be a bear to work with.

You said:
And the intersection of qualified PhD-professor and world-class-tester is pretty much Paul Jorgensen and Cem Kaner.)


Don't forget James Whittaker (who hired Cem at FIT).

If the school existed, I just don't know who would go. People who already have jobs would just keep working, and most of those who wanted to be testers would find some other way into the business (I'm not saying that it's a good thing).

I think the better solution (and one on my agenda), is to get a software testing curriculum into more universities. At first, it would just be a class (rather than the 1-2 days most cs students get), but eventually I could see universities offering minors in software testing, and later I expect some would offer majors.

I just think any non-accredited solution would be viewed the same as every other certification program out there.

Cem Kaner said...

Hi, Matt:

As you know, the Association for Software Testing also has a training program. See http://www.associationforsoftwaretesting.org/drupal/courses

Our goal is to improve the practice of software testing through education. We don't think anyone will achieve that by promoting a false consensus on a few definitions. People have to develop skills, enhance their critical thinking, and gain a fairly deep understanding of techniques.

AST's program is free to our members. It's not fast. We offer 4-week fully online courses that focus on a narrow topic. For example, I start teaching a 1-month Bug Advocacy course in a couple of weeks. Scott Barber just started teaching our Foundations course again last week. These are time-intense classes. Students who complete the course tell us they spend 8-12 hours per week. About half of the students drop out or don't have enough time to craft a good enough assignment and final exam.

We're developing a set of about 15 courses. The next will probably be domain testing (several are in the development queue in parallel).

If you just need the materials, and not the instructor-led training, my course videos and slides are available free at www.testingeducation.org/BBST. You can download them, modify them, and reuse them at your school or company. If you're a professional trainer, you can use them in your courses. For free.

In the 1990's, several training businesses realized that they could improve their sales and build brand loyalty by developing certification programs. Their marketing has been fantastically successful. People pay enormous amounts of money for certificates of questionable value (questionable economically and educationally).

I went a different way. I had been making LOTS of money teaching 3-5 day courses, I had lots of friends who were making a lot of money teaching those courses, but it seemed to me that:

(1) People didn't learn much beyond basic vocabulary, and they didn't remember much of that. Retention of lectures runs about 5% a month after the lecture. And lectures are poor ways to help people develop higher order skills or knowledge. We can make courses more experiential, but in 3 days, there's not much time for much experience, and less for critical reflection.

(2) The software testing community seemed to be stuck in a rut. And I think the system testing community still is. We are still learning definitions and approaches developed in the 1960's. We learn the "advanced" lessons of the 1980's. We fall behind the evolution of the programming community every year, our techniques touch a smaller portion of the code and its risks every year as programs get ever-larger and more complex--Programming has evolved as a field in ways that make it much easier to make things larger and more complex, but Testing has not evolved this way--because we are still stuck in the rut of focusing on the lowest-common-denominator basics that you get in 3-day courses that lead to multiple choice exams (and from that, a piece of paper, woo-hoo). We need an educational system that takes us far beyond the basics or we will not make progress as a field.

I decided to give up commercial training, took a 2/3 pay cut, and went to work at Florida Tech to see if we could do better.

The AST program is one of the outcomes of my Florida Tech work. (I am NOT the only active developer of the AST program. The entire AST executive board is involved: Rebecca Fiedler, Scott Barber, Doug Hoffman, Jeff Fry, just to mention a few, are doing a LOT of work in this program.)

AST has decided to provide certificates too--if you complete 10 AST courses, you get a certificate. This reflects about 400 hours of coursework and 10 difficult final exams (plus 10 group projects, about 30 multiple choice quizzes, and about 25 homework assignments). We hope to issue the first certificates in January 2010. But the value is not in the certificate. It is in the skills and depth of knowledge that you develop. If you don't get that, from the AST courses or any courses, the piece of paper is a sham.

While we develop the courses, AST is extensively training teachers. Students who do really well in the courses and who have a good background can apply for instructor training, which is partially formal training and partially mentored co-teaching for several courses.

As you can imagine, this is a many-year development project. It has not been cheap or easy. AST would of course welcome more volunteers to help us move this forward.

I don't know enough details about the testing schools in India. I've heard mixed reviews about the Russian school in San Jose. Obviously, before anyone invests this kind of time in ANYTHING, they want to check thoroughly--especially because ALL of these courses (including AST's) are unaccredited, will not be recognized as contributing to any university degree, and are offered in highly unregulated marketplaces (meaning that what is advertised is not necessarily the value of what is delivered.)

So, should the alternative be a university degree?

Florida Tech, where I teach, offers a testing track within our software engineering M.Sc. degree. I'm pretty sure that a few other universities also offer testing specialization at the M.Sc. level.

No one in the United States offers a B.Sc. in testing. Having researched the implications of getting a B.Sc. in Testing (as Curriculum Committee Chair at a university that was seriously considering offering one), I don't think this is an appropriate degree. The problem is that employers are too likely to pigeonhole people with a testing B.Sc. into testing jobs, never letting them transfer into other departments. Even if they can program well, even if they took lots of programming courses as part of their degree studies, they get stuck in Testing. We got this feedback so clearly, from so many potential employers, that we decided not to offer a Testing B.Sc. but instead to add more testing and human factors into our software engineering program.

I am intrigued by the idea of a genuine vocational degree in software testing. In the United States, that would not be a M.Sc. degree, it would be an Associates degree (AA or AS) from a community college. It takes too long and too much other education to finally get to the M.Sc. level. M.Sc. might be a great level for professional education in testing, but it is too onerous, I think, for vocational education. (Put differently, people who want a job in testing should be able to get an AS degree first, which is fairly cheap and takes 2 years rather than going through the 4-year B.Sc. or 5-7 years for B.Sc. plus M.Sc.). Someone who wants much more advanced training probably already has a job in the field, and can go to university for more education if they want to and when they can afford it.

I think we could create an excellent community college Associate's program in software testing and I'd be glad to collaborate with a United States-based college that was serious about creating one. I suspect that we can find National Science Foundation curriculum development support money to cover some of the college's startup costs.

(Why U.S.-based? For me, this is a practical matter. I understand how to work within an American research/curriculum-development funding system that has me develop innovations in the USA. My work is available free worldwide, but my base is U.S. I work 100+ hours per week, with no spare time for travel.I'm willing to collaborate with out-of-USA institutions, academic or commercial, but any significant level of work/travel has to be at your expense. )

Let me sum up. I don't personally see much value in the short courses that lead to a certificate. I don't see much value in current certifications. I think we drastically oversimplify the field when we reduce it to the one-true-answer format needed for multiple-guess exams.

I think there are lots of alternatives possible. The M.Sc. program is one, although I think people might market their career better with an M.Sc. in Software Engineering that has a "specialty" in software testing. I also agree with some comments here, that you shouldn't have to have an M.Sc. to get a job as a tester.

Another alternative, for a true vocational degree, would come faster and cheaper out of community college. Maybe that's where we should bring pressure to bear.

The AST program is one professional development approach that emphasizes depth of instruction. It shouldn't be the only one. There are huge repositories of free course materials. Take a look at www.MERLOT.org or www.NSDL.org for a sense of the vastness of work being done in computer science education, math education, and business education. Compare what's happening with those communities to what we are not doing for ourselves.

AST offers one approach. There should be several instructionally-strong competitors.

-- Cem Kaner

PSK said...

Matt:
The programs in India are specifically aimed at fulfilling the demand for Testers in India and not exactly to make the students look attractive for western businesses. Its a different sort of a challenge in India that we have.
01. There is a demand for nearly 25000 testers (numbers can be questioned but there is a definite demand) considering outsourced testing business potential of 4.5 b USD.
02. There is a huge gap between the industry expectations and what the academia outpt is. Even a student pursuing a Engineering Program in CS is exposed to Software Testing for only a few hours (3 to 4 lectures.
03. Not many young graduates want to get into SOftware Testing as a). they are not exposed to testing and have been misguided about the nature and challenges of the job and b). they think of Testing job as lowly paid.
04. Since the entry level resources were never formally trained in Testing, local IT organizations are forced to spend a lot of money in onboarding an employee. They would be more than happy if they have access to ready deployable resources in Testing and thereby save costs.
05. There is a huge talent pool that is available. Going by NASSCOM figures, only 20 to 30% of the graduates are employable. While there is no dearth of opportunities, the challenge is to improve employability.
Addressing these problems need intervention of various stakeholders - Industry agencies like NASSCOM, Universities, Testing Education Providers, and Ministry of Education.
As Abhinav mentioned, there are many vocational institutes offering Testing Education. The current education programs provided by independent training institutes in the market do not meet industry expectations. While industry ideally looks forward for a resource that is truly industry ready with necessary skills, and attitude and with minimal intervention of further training who can be deployed, most programs provide superficial knowledge and do not concentrate on testing skill development and are not capable of providing industry ready deployable software testers. There are several institutes which claim to create industry ready resources by training the students for mere 12-16 hours on Manual Testing. While these programs look very affordable they do not yield the right result for neither the student nor the recruiter who will once again have to spend the same amount on training and onboarding the new recruit. The challenge is also in devising a curriculum that teaches enough and that includes relevant topics that are to be covered in depth. Most of the institutes fail in this account.
A university degree may be an alternate, as Cem said. However, in India, changing the university curriculum to incorporate Testing specialization / electives is a long term effort. What we are trying is to collaborate with Universities to get the testing finishing school program accredited. Since what is important is the skill and knowledge and their usefulness to the industry, more than any education body accreditation, it is the industry recognition and acceptance for any particular program that is more relevant here.
We really admire the BBST course and are modelling the testing finishing school program that we run on the principles of imparting skills and definitely not teach just the definitions. While a 300 hours curriculum may not be the best, time and scale matters.

techiegirl said...

One month ago, I moved to the state of Washington from Maryland. I have been doing manual software testing for the past 5 years. All of my training has been learned "on the job". I have been researching how I could further my skills such as scripting, creating test cases, test methodologies, and using automated testing tools.I am not having any luck finding any classes in community colleges pertaining to software testing.

Does your material, course videos, and/or slides cover any of these topics? Any guidance given would be greatly appreciated.

Sumit Kalra said...

I want to know more about "Miagi-Do School of Software testing"