23
A Guideline to test your own code A Guideline to test your own code Developer Testing Developer Testing www.folio3.com @folio_3

A Guideline to Test Your Own Code - Developer Testing

Embed Size (px)

Citation preview

A Guideline to test your own codeA Guideline to test your own code

Developer TestingDeveloper Testing

www.folio3.com@folio_3

Folio3 – OverviewFolio3 – Overview

www.folio3.com @folio_3

Who We Are

We are a Development Partner for our customers

Design software solutions, not just implement them

Focus on the solution – Platform and technology agnostic

Expertise in building applications that are:

Mobile Social Cloud-based Gamified

What We Do Areas of Focus

Enterprise

Custom enterprise applications

Product development targeting the enterprise

Mobile

Custom mobile apps for iOS, Android, Windows Phone, BB OS

Mobile platform (server-to-server) development

Social Media

CMS based websites for consumers and enterprise (corporate, consumer,

community & social networking)

Social media platform development (enterprise & consumer)

Folio3 At a Glance Founded in 2005

Over 200 full time employees

Offices in the US, Canada, Bulgaria & Pakistan

Palo Alto, CA. Sofia, Bulgaria

Karachi, Pakistan

Toronto, Canada

Areas of Focus: Enterprise Automating workflows

Cloud based solutions

Application integration

Platform development

Healthcare

Mobile Enterprise

Digital Media

Supply Chain

Some of Our Enterprise Clients

Areas of Focus: Mobile Serious enterprise applications for Banks,

Businesses

Fun consumer apps for app discovery,

interaction, exercise gamification and play

Educational apps

Augmented Reality apps

Mobile Platforms

Some of Our Mobile Clients

Areas of Focus: Web & Social Media Community Sites based on

Content Management

Systems

Enterprise Social Networking

Social Games for Facebook &

Mobile

Companion Apps for games

Some of Our Web Clients

www.folio3.com @folio_3

A Guideline to test your A Guideline to test your own codeown code

Developer TestingDeveloper Testing

Agenda

Importance of Developer Testing

What is Developer Testing?

Difference from Smoke Testing, Product Testing

Guideline for Developer Testing

Managing Code Changes

Importance of Developer Testing

If the programmer does not have enough

knowledge and information to test the program,

then he does not have enough knowledge and

information to write the program (Dr. William

Edwards Deming)

Importance of Developer Testing

A programmer who relies upon QA, testers,

other programmers, or customers to test their

code is a Bad Programmer

Importance of Developer Testing

Programmers testing their own code doesn't

imply that nobody else tests it. Programmers do

correctness testing; customers do acceptance

testing; and QA do exploratory(detailed) testing.

What is Developer Testing?

“Before the build is given to QA, Hit all points in

the spec that you developed against”

Difference Unit Testing

Focuses verification effort on the smallest unit of software design, component or module, e.g. a class/functions.

Smoke Testing High level functionality test to check that software build is ready for

detailed testing This is primarily to verify that build has been created correctly, AND

there are no major blocking issues that will stop QA from exercising the planned module testing.

QAs testing / Product Testing Functional, UI, UX, Compatibility, Load stress and performance,

Regression, Automated testing, bug verification, Test Plan defines what they do first, and in what order. Project

Manager should reviews this document in consultation with Lead Developer

Guideline for Developer Testing

At least, check every path of your code once

Always write code to handle null value parameters in

the functions

Always perform correctness testing of your work when

you update code from repository

Use Unit testing to automate correctness testing. (if

possible)

Guideline for Developer Testing

If you can’t test all the corner cases due to time

constraint, don’t be shy to inform your QA about it.

Rule of thumb: “Programmers and QA, both are

responsible for the quality of the software”

Managing Code Changes

A programmer MUST declare change impact for each of

its assignments; feature development, change requests,

or bug fixing.

Programmer must maintain changes in "changelogs" or

in a separate document with reference in the

changelogs.

A programmer MUST conduct testing that covers all the

areas impacted by the change.

Managing Code Changes

The formal declaration from the programmer

regarding the impact will enable QA to perform right

type of exploratory testing. Also it will help the QA

lead in selecting the right set/collection of test cases

for the QA cycle.

The project manager and/or development lead MUST

insure that each of the assignments have appropriate

change impact declarations from its assignee.

Contact

For more details about our services, please get in touch

with us.

[email protected]

US Office: (408) 365-4638

www.folio3.com