bcc exceed ste_cert

46
Software Testing and BCC Software Test Engineer Certification Program © Copyright 2010 tom wilk – for Exceed Technical Training

Upload: susan-l

Post on 31-Oct-2014

577 views

Category:

Technology


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Bcc exceed ste_cert

Software Testing and BCC Software Test Engineer

Certification Program

© Copyright 2010tom wilk – for Exceed Technical Training

Page 2: Bcc exceed ste_cert

BCC Software Test Engineer Certification Program

SEE: http://continuingeducation.bellevuecollege.edu/computers/swt/index.asp

Page 3: Bcc exceed ste_cert

Training for IT Professionals

Excerpt from comment about Community Colleges:

"Many people…who want to be prepared to work in the technical community are finding that the community colleges… have become the training ground for IT professionals.”

Craig Mundie, Microsoft chief research and strategy officer

Interview with the Seattle Times, 3/25/09

Page 4: Bcc exceed ste_cert

Lifetime Learning

What d’ya know?We toss out this casual greeting all the time, not really inviting a serious response.

When it comes to America’s economic future, though, no question carries greater weight. How we answer it holds the key to good jobs and higher pay.

What d’ya know?Not enough. We can never know enough in the modern workplace. A good education

serves as the foundation for productive work. Job experience and training build on it. Lifetime learning offers a well-marked path to success. It’s up to us to follow it.

Source: FEDERAL RESERVE BANK OF DALLAS - 2004 ANNUAL REPORT

http://www.dallasfed.org/fed/annual/2004/ar04.pdf

Page 5: Bcc exceed ste_cert

Introduction – Tom Wilk – adjunct faculty

My backgroundMy background Test Instructor & ConsultantTest Instructor & Consultant Test Manager & Test Solutions Architect – VMC ConsultingTest Manager & Test Solutions Architect – VMC Consulting STE/SDET - MICROSOFT (9 yrs)STE/SDET - MICROSOFT (9 yrs) Prior to MSFT (Dev, PM, Support, Analyst, Accountant)Prior to MSFT (Dev, PM, Support, Analyst, Accountant) Total about 17 years in Software IndustryTotal about 17 years in Software Industry Lifetime member of the Assoc for Software Test (AST)

• http://www.associationforsoftwaretesting.org/drupal/• http://en.wikipedia.org/wiki/Association_for_Software_Testing

Member of the Context-Driven “school” of thought for how to approach software test tasks, issues, and problems.

• http://www.context-driven-testing.com/

[email protected]

Page 6: Bcc exceed ste_cert

My Goals for this session• Provide you with information you’re looking for about:

– Business and Work of Software Test – BC CE Certificate Program for Software Test/QA

• Answer your questions and share my experience

• Goal is to cover this material in a manner that best helps Goal is to cover this material in a manner that best helps you understand it & put it to good use.you understand it & put it to good use.

• NO SELLING – I’m not here to sell you anything…NO SELLING – I’m not here to sell you anything…• Create a safe environment for you to ask questionsCreate a safe environment for you to ask questions• NO guarantee about jobs/hiring… NO guarantee about jobs/hiring…

Page 7: Bcc exceed ste_cert

Introductions & Your Goals

Please share your goals and expectations – Software Experience?Software Experience?– Software Test Experience?Software Test Experience?– If you’re working:If you’re working:

- what do you do? What type of firm? - what do you do? What type of firm? – Expectations for this session?Expectations for this session?– Most important info you want from this session?Most important info you want from this session?

Page 8: Bcc exceed ste_cert

Formal Classes vs Web Content

With so much good data on the web, why do you need formal course instruction?

Page 9: Bcc exceed ste_cert

A word about Certifications…

• CERTIFICATION != Immediate Job• STE Classes ! = Immediate Pay Raise

• Not Equal To Operator (C#)• The not equal to operator compares two operands and returns true if the two

values do not match exactly. The operator provides the opposite functionality to the equal to operator mentioned above. The operator symbol for not equal to is an exclamation mark and an equals signs (!=). Example: result = (a != b); // result = true

Page 10: Bcc exceed ste_cert

STE Certification Program Instructors/Faculty: SEE Link for ONLINE data

Courses – break-down into 2 categories:• Methodology

– How to test/what to test– Provide you some hands-on experiences – How to Test deep, for the most important things

• Programming/Database– Programming Fundamentals for any language– C# and VBScript & MS T-SQL

Page 12: Bcc exceed ste_cert

Software Test Engineer Certification Program

• If you are new to Software Test, with little experience, start with a 100-level class:– Intro to Testing– Programming Fundamentals – Database Testing

In My Opinion: Complete these fully & put the concepts, vocabulary, and techniques to use. Add some experience(s) before you rush to take additional classes. Build a “solid foundation” so all the added classes are meaningful.

Page 13: Bcc exceed ste_cert

Software Test Engineer Certification ProgramCourses – break-down into 2 categories:

• Methodology• Programming/Database

In My Opinion: Take only 1 class from each group at a time.If you are eager to take 2 classes simultaneously, take a Methodology & a Programming class.If you are eager to progress and hungry to learn, dive-deeper into the few classes you are attending, rather than attending too many classes.

Page 14: Bcc exceed ste_cert

A word about Learning…• Assume current science and studies are correct that is takes 10,000

hours to become an expert at anything. Here’s a breakdown into 3 & 5 stage models:

Stage Hours

Novice Apprentice 1,000

Advanced Beginner 2,000

Competent Journeyman 4,000

Proficient 3,000

Expert Master TOTAL = 10,000

Page 15: Bcc exceed ste_cert

A word about Learning…

Class Time Hours:• STE = approx 200• SDET = approx 150

– So, Total Class time for STE & SDET certifications = 350 – This is less than 15% towards needed hrs for “Apprenticeship”

In My Opinion: Your best course of action is to augment class-time with various Software Test activities & exercises outside of class.

Page 16: Bcc exceed ste_cert

What is Software Testing?

• Classic view of the Software Development process– Requirements Analysis– Design– Code– Test – Maintenance

• SEE: http://en.wikipedia.org/wiki/Software_testing

Page 17: Bcc exceed ste_cert

C.S./Programming vs Software Test

• Typical CS degree holder gets less than 40 hours of exposure to topics related to software test.– Generally CS student is lucky to get reasonable exposure to

Debugging & Unit Testing - generally Developer tasks on real-world projects

– Rarely any discussion of Integration or System Testing

• Software Test is a separate “science” or “discipline” with a unique set of skills & vocabulary– Verification & Validation– Attacking Software– Understanding the various components of Quality

Page 18: Bcc exceed ste_cert

History of the Profession

• As a “profession” the starting place might be considered as 1979, with the publishing of “The Art of Software Testing” by Glenford Myers (IBM)

• Since the mid-80’s, places like Microsoft (and engineers like Whittaker, Bach, Kaner, Black, etc…) have advanced the discipline to drive quality-improvements within their products or test services.

• To date, almost everyone in this profession has learned thru a combination of Continuing Education and real-world work experience.

• Most “theory” comes from LESSONS LEARNED

Page 19: Bcc exceed ste_cert

TESTING as Discovery

Testing is a means of discovering the quality level of a software system, not a means of assuring software quality.

Software Project Survival Guide - Chapter 9, pg 135 by: Steve McConnell

Page 20: Bcc exceed ste_cert

James Whittaker article (IEEE): What Is Software Testing & Why is it so hard

Approach:• Model the Software Environment• Create appropriate test scenarios & strategies• Run/Evaluate “best” tests• Report Findings & progress

Page 21: Bcc exceed ste_cert

James Whittaker article: What Is Software Testing & Why is it so hard

Obvious…• Human Interface (UI)

Looking beyond the obvious….• Software Interfaces (APIs)• File System/Data Interfaces• Communications Interface• Source Code

Consider: much like an ICEBERG

Page 22: Bcc exceed ste_cert

Modern Software == like an Iceberg

Page 23: Bcc exceed ste_cert

Key Factors for being good…

To be good, must become a student of:• Software – how does it work & how is it built• Software Faults – how can it be wrong• Software Failure – how to effectively expose

faults in software, generally for the benefit of the project.

• Boiled-down to its essence, the role is all about: Finding & Reporting those Failures == BUGS and contributing to successful software projects.

Page 24: Bcc exceed ste_cert

Where Does Software Test Fit?

Software Failure

Software Fault

Software

Computing: Computer Sciences, incl Hardware

Dev Engineer

Test Engineer

Page 25: Bcc exceed ste_cert

Key Factors for being good…“Right/Correct”?? _ By who’s standards?STE must become familiar with various standards for

proper software behavior. These include:• Legal standards• Engineering standards• Behaviors specified by Designers• Behaviors required for market success

Good Test Engineers apply the proper Test Oracle(s) when evaluating the results of every test…

Page 26: Bcc exceed ste_cert

Key Factors for being good…“Jack of all trades… master of few…”

STE is generally expected to contribute to project success in various ways – both Technical & Non-Technical, including:

• PC/Systems basics • Advocate for various types of users• FAST ramp-up on any new topic• Translator between Technical & Non-Technical • Fair & Honest “Umpire”

Page 27: Bcc exceed ste_cert

So, What’s so hard…?

• Need for proper combination of Soft (interpersonal) & Hard (technical) skills

• IMO - Best work is Context-driven… which means you can’t decide on the best practices or strategies until you clearly understand the context to the test mission/problems/issues.

• Have to start with fundamentals, including how to “think like a tester” and prioritize your coverage/attacks

Page 28: Bcc exceed ste_cert

So, What’s so hard…?

• Need for proper combination of Soft (interpersonal) & Hard (technical) skills

• IMO - Best work is Context-driven… which means you can’t decide on the best practices or strategies until you clearly understand the context to the test mission/problems/issues.

• Have to start with fundamentals, including how to “think like a tester” and prioritize your coverage/attacks

Page 29: Bcc exceed ste_cert

Changing Profession

Software Test Engineering is a dynamic, ever-changing profession, with changes driven by:– Technology– Complexity of evolving apps/systems– Lessons Learned– Globalization & Commoditization– Tools/Automation (software to test software)

• Latest trends– Move to MOBILE platforms & Apps

Page 30: Bcc exceed ste_cert

Changing Roles & Jobs

Changing Roles:• By Job Titles & Tasks

– STE– SDET

• By How Software Gets Built– Agile Development– Commoditization throughout the disciplines – Technical complexity– Globalization and Distributed Teams

Page 31: Bcc exceed ste_cert

Current data about the discipline

Salary Data:http://www.cbsalary.com/national-salary-chart.aspx?

specialty=Software+Quality+Assurance+Tester&kw=Software+Quality+Assurance+Tester&jn=jn008&tid=105999

Search:“How to find a job in QA - software testing”

According to the U.S. Bureau of Labor Statistics for 2007, there were 349,140 people in the US doing these jobs. **

Page 32: Bcc exceed ste_cert

Occupational Data Relative # of jobs across different professions

Accountants 1,300,000Carpenters 1,500,000

CS Teachers 44,000Insurance Agents 436,000

Programmers 435,000

Software QA ** 349,000

Estimated # of Jobs

1,300,000

435,000

1,500,000

436,000

349,000

44,000

0 500,000 1,000,000 1,500,000 2,000,000

6

5

4

3

2

1

Estimated # of jobs (2006-2007)

Page 33: Bcc exceed ste_cert

Occupational Data Software Engineers (2006 data)

Software Engineers:• Applications = 507,000• Systems = 350,000

• Employment change - Employment of computer software engineers is projected to increase by 38 percent over the 2006 to 2016 period, which is much faster than the average for all occupations.

http://www.bls.gov/oco/ocos267.htm

Page 34: Bcc exceed ste_cert

So, What’s so hard…?

• Need for proper combination of Soft (interpersonal) & Hard (technical) skills

• Best work is Context-driven… which means you can’t decide on the best practices or strategies until you clearly understand the context to the test problems.

• Have to start with fundamentals, including how to “think like a tester” and prioritize your coverage/attacks

Page 35: Bcc exceed ste_cert

Sample of Resources about the profession

• http://www.aptest.com/resources.html• http://satisfice.com/• http://www.testingfaqs.org/• http://www.stickyminds.com/BetterSoftware/magazine.asp• http://www.softwareqatest.com/• Profile of a Software Test Engineer:

http://jobsearchtech.about.com/od/careersintechnology/p/SWTest.htm• 3 reasons to consider being a Test Developer at MSFT

http://blogs.msdn.com/steverowe/archive/2005/01/19/356361.aspx

With so much good data on the web, why do you need formal course instruction?

Page 36: Bcc exceed ste_cert

Sample of Resources about the profession

Books• Testing Computer Software – Kaner (text)

• Lessons Learned in Software Test – Bach, Kaner, Pettichord

• How to Break Software - Whittaker

• How to Break Web Software – Andrews, Whittaker

• Perfect Software and other illusions about testing - Weinberg

Page 37: Bcc exceed ste_cert

Occupational Data SDET’s at MSFT (5/09 estimates)

SDET’s at MSFT - Redmond (May 09):• Open Positions posted internally = 181• Rough guess - % open positions = 10%• Estimated total SDET’s in Redmond = 1,800

MSFT Career Site: http://members.microsoft.com/careers/careerpath/technical/softwaretesting.mspx

Page 38: Bcc exceed ste_cert

Skills you need to be effective at Software Testing

• Communication and diplomacy– Bug writing: documentation and reproduction require

effective communication skills and a skilled diplomat!– Ability to ask effective questions of developers, managers,

and leads without sounding judgmental or uninformed– Ability to work in a team environment as a team player

• Basic knowledge of the software process• The ability to learn quickly• Ability to work in fast-paced and stressful environment

Page 39: Bcc exceed ste_cert

Personality traits you need to be effective at Software Testing

• Creativity, inventiveness• Willingness to dig deeper• Tolerance, patience, etc.• Love to learn new things

Page 40: Bcc exceed ste_cert

Advantages to Software Testing careers

• Great for those who like the “hunt”– Diagnostician skills are important. Similar skills to a

detective or a physician who is skilled in diagnosis.– A lot of personal satisfaction in helping to produce

quality software• Learn a lot about a variety of topics in software.• Access to all kinds of platforms and software• Opportunities for advancement

– Within testing– Within the software industry

Page 41: Bcc exceed ste_cert

Now for the downside

• Long hours (same as devs)• Stressful work, especially around deadlines

(same as devs)• Work can be tedious

– Perhaps a bit more so than devs• Politics

Page 42: Bcc exceed ste_cert

The Software Testing Certificate program at BCC

• Finding qualified software testers is a challenge for many technology industry employers.

• Testers are typically creative, detail-oriented individuals who are motivated to solve problems. Learning to find, report, and test bugs in software are excellent skills to gain for today's technology industry, and qualified individuals often find software testing to be a logical entry point to the IT field.

• Course content is designed with input from area companies. Skills sought by employers in hiring testers include computer basics, knowledge of programming fundamentals, ability to communicate effectively and work in teams, test planning, and test automation experience which includes the ability to find software bugs and write logical, concise bug reports.

• BCC partners with a leading software testing consulting and training firm to offer a series of courses designed to give testers the skills needed for testing in a variety of environments.

Page 43: Bcc exceed ste_cert

FAQs• "Do I Really Have to Take This Class?"

– answer is almost always 'yes'

• "What if I Already Know This?" – If student already has experience with one of the required classes then

it can be swapped for another class of the same amount of hours with instructor permission.

• “How long does it take to complete a certificate?” – Depends on the amount of hours students wish to take and what

electives, but all classes are offered at least once per quarter - thus technically it could be done in a quarter - but most don't get it that soon

• Series vs. Certification.– “Series” are available only to achieve a price break on multiple courses

taken. They are not the same as certification.

Page 44: Bcc exceed ste_cert

Final Notes

• We do not have hard statistics on placement, but we do know from students that they are finding jobs, and both Volt and Excell Data whom we work with have stated there are lots of entry level jobs at MS to be filled.

• Volt has indicated that besides primary testing skills database (SQL, XML) and C# skills are practically a requirement now. Most companies are requiring their testers to be programming literate.

Page 45: Bcc exceed ste_cert

Q&A

• What are your questions????

Page 46: Bcc exceed ste_cert

Resources

• Continuing Education– Regular and online catalog – Call 564-4000

• Brochure for Software Testing Certificate Program – updated regularly

• Dan Hodge: Program director: [email protected]

• SASQAG (Seattle Area Software Quality Group) www.sasqag.org