evolution of software testing - chuan chuan law

35
Software Testing Evolution of Chuan Chuan Law @ChuanCLaw

Upload: chuan-chuan-law

Post on 12-Apr-2017

368 views

Category:

Software


2 download

TRANSCRIPT

Page 1: Evolution of Software Testing - Chuan Chuan Law

Software Testing

Evolution of

Chuan Chuan Law@ChuanCLaw

Page 2: Evolution of Software Testing - Chuan Chuan Law

AGENDA

1 Testing & Software Engineering

2 Automation

3 Time and Quality

4 Where to go from here

Page 3: Evolution of Software Testing - Chuan Chuan Law

Testing and Software Engineering

PART ONE

Page 4: Evolution of Software Testing - Chuan Chuan Law

Waterfall to Agile

Page 5: Evolution of Software Testing - Chuan Chuan Law

KEEP CALM AND LOVE

SOFTWARE ENGINEERING

Page 6: Evolution of Software Testing - Chuan Chuan Law

Bug Catching at Every Phase

Page 7: Evolution of Software Testing - Chuan Chuan Law

Experience: Agile over Waterfall

• Quality: better quality• Time: delivery on time• Cost: less costly bug fixing• Stakeholder: correct product to stakeholder• Staff: less pressure on tester

Page 8: Evolution of Software Testing - Chuan Chuan Law

Getting Rid of Documentation

Page 9: Evolution of Software Testing - Chuan Chuan Law

Getting Rid of Documentation

Page 10: Evolution of Software Testing - Chuan Chuan Law

Automation is Key PART TWO

Page 11: Evolution of Software Testing - Chuan Chuan Law

No Technology is Perfect without a Testing Framework

Page 12: Evolution of Software Testing - Chuan Chuan Law

Examples

• Web applications: Selenium• Mobile: Calabash, Appium, Robotium• .NET: Nunit, Xunit• Java: JUnit• AngularJS: Protractor

Page 13: Evolution of Software Testing - Chuan Chuan Law

Choosing the Right Tool

Page 14: Evolution of Software Testing - Chuan Chuan Law

Choosing the Right Tool

• Most popular used• Community support• Open source vs Commercial• Skills• Custom built

Eg: WebClient class (System.Net) for API & web services

Page 15: Evolution of Software Testing - Chuan Chuan Law

Where to Start the Transition?

• BDD <= Test case, test planeg: SpecFlow

• Simple web driver commands eg: driver.Navigate().GoToUrl()

Page 16: Evolution of Software Testing - Chuan Chuan Law

Example: Where to Start?

More complex logic manipulationeg: IWebElement t = driver.FindElement(By.XPath("//td[@id='content']/div[2]/b")); _jobmsg = t.Text; int i = 0; while (_jobmsg[i].Equals('#') == false) {i++;} i = i + 2; int x = 0; while (i < _jobmsg.Length) { _jobmsg.CopyTo(i, _jobno, x, 1); i++; x++; }

Page 17: Evolution of Software Testing - Chuan Chuan Law

Example: Where to Start?

Framework level eg: Helpers, reusable code

Battling with Selenium drawbackeg: Pages with lots of AJAX calls

Page 18: Evolution of Software Testing - Chuan Chuan Law

Test = User + Design

Page 19: Evolution of Software Testing - Chuan Chuan Law

Example: User + Design

Can pick up more edge case/boundary testingEg: Enter 100 chars into a DB field varchar(50)

Helps understanding the effect of changesEg: Changing a CSS file that is shared across multiple locations

Page 20: Evolution of Software Testing - Chuan Chuan Law

TIME vs QUALITY

PART 3

Page 21: Evolution of Software Testing - Chuan Chuan Law

Time vs QualityBugs

Page 22: Evolution of Software Testing - Chuan Chuan Law

Time vs QualityCritical Path

Page 23: Evolution of Software Testing - Chuan Chuan Law

Time vs QualityInformed Data

Page 24: Evolution of Software Testing - Chuan Chuan Law

Example

Situation: No automation at

all Complex product Time pressure

Solution: Gather top 20 (90% of usage) most

visited pages Analyse the user flow Automate the scenario

Page 25: Evolution of Software Testing - Chuan Chuan Law

Where to Go from Here?

Part 4

Page 26: Evolution of Software Testing - Chuan Chuan Law

Staying Alive

Page 27: Evolution of Software Testing - Chuan Chuan Law

Constant Learning

Page 28: Evolution of Software Testing - Chuan Chuan Law

Learning does not always cost $$

Page 29: Evolution of Software Testing - Chuan Chuan Law

Different Channels

Online conferences eg: GTAC

Blogs from testing philosophers eg: James Bach

Testing sites eg: StickyMinds

Page 30: Evolution of Software Testing - Chuan Chuan Law

Personal Learning Experience

Appium

Eg: GTAC 2013 - Automation for Mobile Apps by Jonathan Lipps

New ideas

Eg: GTAC 2014 - “Take out flaky tests from CI. Put it back when they are

stable. Critical tests should never be taken out” by Ankit Mehta

“Turn off a feature that is buggy” by Ankit Mehta

Page 31: Evolution of Software Testing - Chuan Chuan Law

Spike it!

Page 32: Evolution of Software Testing - Chuan Chuan Law

Sharing is Caring

• Social media• Blog• Github• Forums• Stack Overflow

Page 33: Evolution of Software Testing - Chuan Chuan Law

Example: Blogging

Page 34: Evolution of Software Testing - Chuan Chuan Law

Enjoy!

Page 35: Evolution of Software Testing - Chuan Chuan Law

THANK YOU!

Chuan Chuan Lawwww.chuanchuanlaw.com