bcc exceed ste_cert
Post on 31-Oct-2014
577 Views
Preview:
DESCRIPTION
TRANSCRIPT
Software Testing and BCC Software Test Engineer
Certification Program
© Copyright 2010tom wilk – for Exceed Technical Training
BCC Software Test Engineer Certification Program
SEE: http://continuingeducation.bellevuecollege.edu/computers/swt/index.asp
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
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
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/
Tomwilk@EMail.com
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…
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?
Formal Classes vs Web Content
With so much good data on the web, why do you need formal course instruction?
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
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
STE Required Courses (with approx level)
• Introduction to Testing (100-level) • Scripting/Programming Fundamentals (100) • Database Testing Concepts (100)
• Software Testing in Practice (200)• C# for Testers (200)• Test Automation using C#: Level 1 (200)
• Test Project Planning and Management (300)
• Software Test Engineer Certificate Capstone (400)
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.
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.
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
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.
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
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
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
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
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
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
Modern Software == like an Iceberg
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.
Where Does Software Test Fit?
Software Failure
Software Fault
Software
Computing: Computer Sciences, incl Hardware
Dev Engineer
Test Engineer
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…
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”
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
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
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
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
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. **
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)
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
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
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?
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
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
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
Personality traits you need to be effective at Software Testing
• Creativity, inventiveness• Willingness to dig deeper• Tolerance, patience, etc.• Love to learn new things
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
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
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.
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.
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.
Q&A
• What are your questions????
Resources
• Continuing Education– Regular and online catalog – Call 564-4000
• Brochure for Software Testing Certificate Program – updated regularly
• Dan Hodge: Program director: dhodge@exceedtraining.com
• SASQAG (Seattle Area Software Quality Group) www.sasqag.org
top related