Register Now

Login

Lost Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

QA Course

Introduction | Disclaimer


Lecture 1 – A Bug Or Not A Bug

binary_1

Quick Intro
Three Conditions Of A Bug’s Existence
The Gist Of Testing
Spec, Spec, Spec
Software Bugs And Spec Bugs
- Error Message During Registration
Other Sources Of Expected Results
– Life Experience
– Common Sense
– Communication
– Standards
– Statistics
– Valuable Opinion
- Other Sources
Why We Call Them “Bugs”?
Lecture Recap
Questions & Exercises
Self-Check Quiz 1

Lecture 2 – The Purpose of Testing

binary_2

Quick Intro
Exposing Misconceptions
- First View: "testers Must Make Sure That 100% Of The Software Works Fine."
- Froggy.py
- Valid Input/Invalid Input
- Input->Processing->Output
- Second View: "a Tester's Effectiveness Is Reflected In The Number Of Pre-release Bugs.”
How To Make Use Of Stats For Post-Release Bugs
- Alan, Boris, Connor And 7 Bugs In Checkout
Testing And QA
- Life Of Mr. G. From QA Perspective
Lecture Recap
Questions & Exercises
Self-Check Quiz 2

Lecture 3 – Test Cases and Test Suites

binary_3

Quick Intro
- Checking Mr. Wilson's Backpack For Chips And Beer
Test Case Structure
- Samuel Pickwick And Test Case With Credit Card: Scene 1
- Samuel Pickwick And Test Case With Credit Card: Scene 2
Results Of The Test Case Execution
- Why FAIL Is Good
Useful Attributes Of The Test Case
- Unique ID/Priority/IDEA/SETUP And ADDITIONAL INFO/Revision History
Data-Driven Test Cases
Maintainability Of Test Cases
- QA KnowledgeBase
The Number Of Expected Results Inside One Test Case
- Log Files
- Front End/Back End
Bad Test Case Practices
- 1. Dependency Between Test Cases
- 2. Poor Description Of The Steps
- Trip To LA
- 3. Poor Description Of The Idea And/or Expected Result
Test Suites
- First Test Case Execution
- Author/Spec ID/PM/Developer/Priority/OVERVIEW/ GLOBAL SETUP AND ADDITIONAL INFO
- Checkout With Credit Cards (TS7122)
- Checkout With AmEx (TS7131)
- Merging Test Suites
States Of A Test Case
- Created/Modified/Retired
The Importance Of Creativity
Three Important Factors That Affect Test Cases
- 1. Importance Of The Project
- 2. Complexity Of The Project
- 3. Stage Of The Project
Checklists
Lecture Recap
Questions & Exercises
Self-Check Quiz 3

Lecture 4 – The Software Development Life Cycle

binary_4

Quick Intro
Idea
- Once Upon A Time In California
Product Design
- Breaking Rule #1: Clarity Of Details And Definitions
- Breaking Rule #2: No Room For Misinterpretation
- Breaking Rule #3: Absence of internal/external conflicts
- Breaking Rule #4: Solid, Logical Structure
- Breaking Rule #5: Completeness
- Breaking Rule #6: Compliance With Laws
- Breaking Rule #7: Compliance With Business Practices
- Spec Status
- Spec Change Procedure
- Examples/Flowcharts/Mock-ups
Coding: Part 1
- Typical Architecture Of Web Based Applications
- 1. Hire Good People, And Be Prepared To Give Them A Break
- 2. Direct, Fast, Effective Communication Between Coworkers
- 3. Code Inspections
- 4. Coding Standards
- 5. Realistic Schedules
- 6. Availability Of Documentation
- 7. Rules About Unit Testing
- Cost Of The Bug
- 8. “If It Ain’t Broke, Don’t Fix It”
- 9. Being Loved By The Company
- 10. Having "quality" And "happiness Of Users" As Fundamental Principles Of Company Philosophy
Coding: Part 2
- Programming & Bug Fixing
- Syntax Bugs, UI Bugs, Logical Bugs
- Code Freeze
- Remember This For The Rest Of Your Testing Career
- Test Case Reviews
Testing And Bug Fixes
Release
- Major Release & Minor Release (Feature/Patch/Mixed)
- Emergency Bug Fixes And Emergency Feature Requests
- Building ShareLane: Billy, Willy, Zorg And Star
- ShareLane Architecture
- Bug In cc_transactions: File It NOW!
- Using CVS (version control system)
- Builds
- Releasing 1.0 To Production
- Nightmare With 2.0: To Rollback Or Not To Rollback
- CVS Branches And A Story Of Smiling Eddy
- 3 States Of CVS Branches
- Bug Postmortems
- Beta Releases
- Nice Message
- Releasing To 1 Machine
- Release Moratorium
Maintenance
The Big Picture Of The Cycle
Lecture Recap
Questions & Exercises
Self-Check Quiz 4

Lecture 5 – The Software Testing Life Cycle

binary_5

Quick Intro
- Testing New Vacuum Cleaner
Research
- Documentation
- Humans
- Exploring
Test Planning
Test Execution
Test Education And Reality
2+2=4 OR?
Lecture Recap
Questions & Exercises
Self-Check Quiz 5

Lecture 6 – Classifying the Most Common Types of Testing

binary_6

Quick Intro
By Knowledge Of The Internals Of The Software
- Black Box Testing
- Scenarios And Patterns Of User Behavior
- White Box Testing
- Your First Bug Found With White Box Testing Approach
- Use Cases Vs Test Cases
- Understanding Test Coverage
- Grey Box Testing
By The Object Of Testing
- Functional Testing
- UI Testing
- Difference Between UI Testing And Testing Using UI
- Usability Testing
- Localization Testing
- Load/performance Testing
- Security Testing
- Compatibility Testing
By Time Of Test Execution
- Before Any Release (alpha Testing)
- After A Beta Release (beta Testing)
By Positivism Of Test Scenarios
- Positive Testing
- Negative Testing
- Error Messages
- Error-handling
By Degree Of Isolation Of Tested Components
- Component Testing
- Integration Testing
- System (end-to-end) Testing
- Test Preps For “5% Discount” Feature
- Thoughts About Test Emails
By Degree Of Automation
- Manual Testing
- Semi-automated Testing
- Automated Testing
By Preparedness
- Formal/documented Testing
- Ad Hoc Testing
Lecture Recap
Questions & Exercises
Self-Check Quiz 6

Lecture 7 – Test Preps

binary_7

Quick Intro
The Tester’s Mental Attitude
- Logs, Landscapes And Material For An Article
- Cycle Of Mistrust
- Positive Testing And Destructive Thinking
Intro To Special Skills In Bug Finding
Black Box Testing Techniques
- Dirty List/white List
- Test Tables
- Flowcharts
- Risk Analysis
- Hotel In The Mountains And “Absolutely Obvious” Things
- Example With Auto Parts
- Equivalent Classes
- Boundary Values
- A-to-E
- Testing Discounts On ShareLane
When You Start To Implement Testing Techniques…
- Be A Master Of Test Techniques, Not Their Slave
Lecture Recap
Questions & Exercises
Self-Check Quiz 7

Lecture 8 – Bug Tracking

binary_8

Quick Intro
The Bug Tracking System
- Bug Attributes
- ID
- SUMMARY
- DESCRIPTION
- Basic Web Page Elements
* Text
* Link
* Mailto
* Anchor
* 404 - File Not Found
* DNS Error - Cannot Find Server
* Relative URL
* Absolute URL
* Image
* Linked Image
* Text Box
* Captcha
* Text Area
* Password Input Box
* Screenshots
* Professional Ethics Regarding Passwords
* Keystrokes
* Drop-down Menu
* Radio Button
* Checkbox
* Reset Button
- ATTACHMENT
* How To Make Graphic Attachments
- SUBMITTED BY
- DATE
- ASSIGNED TO
* The Concept Of The Bug Owner
* Who Does What/Who Owns What
- ASSIGNED BY
- VERIFIER
- COMPONENT
- FOUND ON
- VERSION
- BUILD
- DB
- COMMENTS
- SEVERITY
* Bug Severity Definitions
- PRIORITY
* Bug Priority Definitions
* Bug Resolution Times
* Go/No-Go Criteria
* BTW About Selling Bugs To Developers
- ALSO NOTIFY
- CHANGE HISTORY
- TYPE
- STATUS
- RESOLUTION
* Reported
* Assigned
* Fix In Progress
* Fixed
* Fix Is Verified
* 2 Steps Of Bug Regression
* Verification Failed
* Cannot Reproduce
* 4 Scientists And 1 Flask
* Duplicate
* Not A Bug
* 3rd Party Bug
* No Longer Applicable
Bug Tracking Procedure
- Bug Tracking Procedure Flowchart
- Associations Between The BTS Attributes And Actions Taken To Resolve The Bug
Quick Closing Note about BTS and BTP
- Effective Simplicity
Lecture Recap
Questions & Exercises
Self-Check Quiz 8

Lecture 9 – Test Execution: New Feature Testing

binary_9

Quick Intro
- Smoke Test And Blocking Issues
- QA Meeting About New Features
Test Estimates
- Release Schedule And QA Schedule
- 1. What Is The Complexity Of The Feature To Be Tested?
- 2. Do You Have Any Experience With Testing Similar Features?
- 3. Is There Any Planned Integration With The Vendor's Software?
Entry/Exit Criteria
Test Plan
- GENERAL INFO
- INTRODUCTION
- SCHEDULE
- FEATURE DOCUMENTATION
- TEST DOCUMENTATION
- THINGS TO BE TESTED
- THINGS NOT TO BE TESTED
- ENTRY/EXIT CRITERIA
- SUSPENSION/RESUMPTION CRITERIA
- OTHER THINGS
Aggressive Testing From Jason Fisher
Lecture Recap
Questions & Exercises
Self-Check Quiz 9

Lecture 10 – Test Execution: Regression Testing

binary_10

Quick Intro
How to Choose Test Suites for Regression Testing
- 1st Group Of Test Suites For Regression Testing
- 2nd Group Of Test Suites For Regression Testing
- Key-value Pairs
- Test Case/suite Prioritization
How To Resolve The Contradiction Between Our Limited Resources And The Ever-Growing Number Of Test Suites
- 1. Prioritization Of Test Suites And Test Cases
- 2. Test Suite Optimization
- 3. New Hires Or Outsourcing
- 4. Test Automation
Automation Of Regression Testing: Do It Right OR Forget About It
- A Story About The Merciless Automator, Benny M.
- What Exactly Was The Problem With ShareLane Test Automation?
- Three Test Automation Components
- Test Automation Killer Called "MAINTENANCE"
- $200 Shoes For A Baby
- 1. HELPERS
* $36,360 In Savings After 30 Minutes Of Work
- 2. AUTOMATION SCRIPTS
* A. Tools For Component Automation
** Concept Of The Length Of The Road
** Short, Isolated Test Flows
* B. Scripts For End-to-end Automation (E2E Test Automation)
- Money Savers And Money Eaters
- 4 IFs
- When Test Automation Produces An Error It Means That
- Test Automation And QA Team Morale
- Questions To Ask BEFORE Starting To Write Test Automation
* A. How Stable Is The Tested Piece Of Software?
* B. What Are The Frequency And Length Of Manual Execution Of The Candidate For Automation?
* C. What Is The Priority Of The Test Suite/case To Be Automated?
* D. How Much Longer Will That Task Be Around?
* E. How Hard Will It Be To Write Test Automation?
- Two Important Factors About Test Automation Programming
* 1. The Architecture Of Test Automation
** A. Ease Of Maintenance
** B. Ease Of Expansion
** C. Ease Of Code Reuse
* 2. The Technologies/tools Used For Test Automation
** Free Programming Languages Vs Commercial Tools (SilkTest, WinRunner And Others)
** 8 Reasons Not To Use Commercial Tools
** What If You Want To Specialize In SilkTest Or WinRunner
** Idea About Test Automation With Wget And Python
When Regression Testing Stops
Lecture Recap
Questions & Exercises
Self-Check Quiz 10

Lecture 11 – How to Find Your First Job in Testing

- The Brick Walls Are There For A Reason
binary_11

Why You Have A Real Chance To Find A Job In Testing
- What REALLY Prevents A Person From Getting An Entry-level Job In Testing
- About Negativity And Skepticism
- About Strong Desire To Make Good Money + A Complete Lack Of Any Desire To Work
- Wrong Attitude/Right Attitude
* "I'm Willing To Work Unlimited Hours."
* "I'm Willing To Work On Weekends And Holidays."
* "I'm Willing To Work For Any Amount Of Money."
- Example With Housekeeper
Mental Tuning
Job Hunting Activities
- ACTIVITY 0: Tune Up Your Attitude
- ACTIVITY 1: Let People In Your Network Know
* Six Degrees Of Separation
* Using LinkedIn
- ACTIVITY 2: Create A Resume
* Resume As Presentation
* STEP 1: List Of Achievements And Testing Related Experiences
** Wendy And Her Print Shop
** Done_stuff.txt
** Action Verbs And Powerful Adjectives
* STEP 2: Put Your White List Into Your Resume Template
* STEP 3: Get some experience as Beta Tester and populate the section Beta Testing
** Getting Beta Testing Experience
* STEP 4: Populate The Section Labeled Software Experience
* STEP 5: Populate All Other Sections Of The Resume
* STEP 6: Polish The Language Of Your Resume
- ACTIVITY 3: Working With Recruiters
* Concept Of Target Market
* The BIG Four
- ACTIVITY 4: Launch A Campaign Dedicated To Self-promotion
* Passive Search
* Active Search
* Shoot At ALL Targets
- ACTIVITY 5: Interview Successfully And Get A Job
* Homework Before The Interview
** A. Get Info About The Company
** B. Involve Your Network
** C. If Possible, Try To Actually Use The Company's Product(s)
** D. Nice Haircut, Good Looking Clothes And Shoes, And Some Sleep
* Phone Screening And Phone Interview
* At The Day Of The Interview
** 1. Arrive On Time
** 2. Have A Firm Handshake And Look Directly Into The Interviewer’s Eyes
** 3. Answer Questions Without Any Unnecessary Details
Meet The Parents, Monet And Sunflowers
** 4. Be Friendly, Yet Considerate
*** Anecdotes About Lovers Jumping From The Balcony, Etc
** 5. If The Interviewer Wants To Talk, Let Him Or Her Talk
** 6. NEVER Speak Negatively About Your Previous Or Current Employers
*** NEVER Be Negative At An Interview
*** "I Never Say Negative Things About My Employers."
*** Negativity Is An Opportunity Killer
** 7. Always Remember That During The Interview, The Interviewer Is Analyzing You As A Potential Coworker
*** Sharing The Passion
** 8. Honesty And Sincerity Win Hearts. Lies And Attempts To Conceal Something Are Sure Ways To Ruin Your Interview
*** "I Don't Know" – "If Needed, I'll Learn It" Combo
** 9. Don't Get Upset Or Angry If The Interview Doesn't Go Smoothly
*** "Can I Have Number 3, Please?"
*** It Doesn't Matter What YOU Think About How Interview Is Going
*** The Best Techniques To Stay Calm During The Interview
** 10. Never Cancel An Interview Until You Accept A Job Offer
*** Interviewing Well Is A Separate Skill
** 11. Remember That An Interview Is A DIALOG, Not An Interrogation
*** "Death Or The Right Answer To What A Test Plan Is."
** 12. Use Professional Terms
** 13. Remember Your Mantra And Make Sure The Interviewer Knows These Things About You
** 14. List Of Typical Interview Questions And Recommended Answers
*** Q. Why Did You Decide To Become A Software Tester?
*** Q. What Do You Like Most About Software Testing?
*** Q. What Are The Key Qualities Of A Good Tester?
*** Q. Tell Me About Your Short- And Long-term Plans For Your Career In Software Testing
*** Q. In The Very Unlikely Scenario That The Company Needs You To Come Into The Office During The Night, Would You Be Willing To?
*** Q. In The Very Unlikely Scenario That The Company Asks You To Come In During Weekends And Holidays, Would You Be Willing To?
*** Q. During Crunch Time You Might Need To Work More Than Eight Hours A Day. Are You Comfortable With That?
*** Q. Can You Work On Several Projects At Once?
*** Q. How Do You Deal With Time Pressure And Pressure From The Management?
*** Q. Describe Your Relevant Experience And Education
*** Q. What Is Your Biggest Professional Achievement?
*** Q. Why Are You Leaving Your Current Employer?
*** Q. What Are Your Biggest Disappointments At Your Present Position?
*** Q. Would You Prefer To Work For A Large, Established Company Or A Start-up?
*** Q. Give Me An Example Of A Complex Situation And Solution That You've Found
*** Q. Tell Me About Your Strengths And Weaknesses
*** Q. What Would You Like To Improve In Your Career, And What Are You Doing About It?
*** Q. Would You Prefer To Work As A Member Of A Team Or Independently? Why?
*** Q. Why Do You Want To Work For Our Company?
*** Q. What Do You Know About Our Company? Have You Ever Used Our Product?
*** Q. Why Should We Hire You Over Another Candidate?
** 15. Make A Speech At The End Of Your Interview
** 16. Always Send A Thank-you Email To The Interviewer After The Interview
- Jack London And 600 Rejection Letters
- What Happens After They Interviewed You
- Story About George And Olga
Lecture Recap
Questions & Exercises

Lecture 12 – Bonus Tracks

binary_12

Quick Intro
How Much Technology Knowledge Must A Beginner Tester Have
- I Hear And I Forget. I See And I Remember. I Do And I Understand
What To Do If You Are The First Test Engineer At A Software Start-Up
- 1. Install a bug tracking system
- 2. Learn the product, create a set of acceptance tests, and start executing them before each release
- 3. Bring good standards and processes to the attention of your colleagues and management
What If You Are Asked To Do Test Automation As Your First Task
- Performance Testing And Black Box Tester
What Are Stock Options
- How People Get Rich With Stock Options. Example
- Definition
- Exercise Price
- Vesting Schedule
- Acceleration In Vesting
- Millionaire On The Beach
How To Spot A Promising Start-up
- Insane Popularity
- When Start-up Is Being "pregnant"
- Why I LOVE Google, Inc
- Always Being A Winner


Afterword

Questions and Answers about QA