software testing: history, trends, perspectives - a brief overview

21
Software Testing www.softheme.com istory, Trends, Perspectives – a Brief Overview

Upload: softheme

Post on 05-Sep-2014

7.938 views

Category:

Technology


3 download

DESCRIPTION

In this presentation you can learn about different types of software testing, new technologies and methodologies. It contains an overview of software testing perspectives.

TRANSCRIPT

Page 1: Software Testing: History, Trends, Perspectives - a Brief Overview

Software Testing

www.softheme.com

History, Trends, Perspectives – a Brief Overview

Page 2: Software Testing: History, Trends, Perspectives - a Brief Overview

www.softheme.com Outsourcing to Softheme™ Software Testing

Table of Contents Definition

Importance of Software Testing

Sample Testing Cycle

Unit Testing

Unit Testing Benefits

Automated Testing

Agile Testing

Future of Testing

Page 3: Software Testing: History, Trends, Perspectives - a Brief Overview

DefinitionSoftware testing is an investigation conducted to provide

stakeholders with information about the quality of the product or service under test. Software testing also provides an objective, independent view of the software to allow the business to appreciate and understand the risks at implementation of the software.

Test techniques include, but are not limited to, the process of executing a program or application with the intent of finding software bugs.

www.softheme.com Outsourcing to Softheme™ Software Testing

Page 4: Software Testing: History, Trends, Perspectives - a Brief Overview

Importance of Software Testing

To improve Quality

Know where your problem is

Prove usability and operability

For reliability estimation

Prevent defect migration

www.softheme.com Outsourcing to Softheme™ Software Testing

Page 5: Software Testing: History, Trends, Perspectives - a Brief Overview

Sample Testing Cycle

Requirements analysis Test planning

Test development

Test execution

Test reporting

Test result analysis

Defect Retesting

Regression testing Test Closure

www.softheme.com Outsourcing to Softheme™ Software Testing

Page 6: Software Testing: History, Trends, Perspectives - a Brief Overview

Unit Testing

Unit testing is a method by which individual units of source code are tested to determine if they are fit for use. A unit is the smallest testable part of an application. In procedural programming a unit may be an individual function or procedure. Unit tests are created by programmers or occasionally by white box testers.

www.softheme.com Outsourcing to Softheme™ Software Testing

Page 7: Software Testing: History, Trends, Perspectives - a Brief Overview

Unit Testing BenefitsFacilitates changeUnit testing allows the programmer to refactor code at a later date, and make sure the module still works correctly. The procedure is to write test cases for all functions and methods so that whenever a change causes a fault, it can be quickly identified and fixed.

Simplifies integrationUnit testing may reduce uncertainty in the units themselves and can be used in a bottom-up testing style approach. By testing the parts of a program first and then testing the sum of its parts, integration testing becomes much easier.

www.softheme.com Outsourcing to Softheme™ Software Testing

Page 8: Software Testing: History, Trends, Perspectives - a Brief Overview

Unit Testing BenefitsDocumentationUnit testing provides a sort of living documentation of the system. Developers looking to learn what functionality is provided by a unit and how to use it can look at the unit tests to gain a basic understanding of the unit API.

DesignWhen software is developed using a test-driven approach, the unit test may take the place of formal design. Each unit test can be seen as a design element specifying classes, methods, and observable behavior.

www.softheme.com Outsourcing to Softheme™ Software Testing

Page 9: Software Testing: History, Trends, Perspectives - a Brief Overview

Automated Testing

Test automation is the use of software to control the execution of tests, the comparison of actual outcomes to predicted outcomes, the setting up of test preconditions, and other test control and test reporting functions. Commonly, test automation involves automating a manual process already in place that uses a formalized testing process.

www.softheme.com Outsourcing to Softheme™ Software Testing

Page 10: Software Testing: History, Trends, Perspectives - a Brief Overview

Automated TestingWhy?

Automated Software Testing Saves Time and Money

Automated Software Testing Improves Accuracy

Automated Software Testing Increases Test Coverage

Automated Software Testing Does What Manual Testing Cannot

Automated Software Testing Helps Developers and Testers

Automated Software Testing Improves Team Morale

www.softheme.com Outsourcing to Softheme™ Software Testing

Page 11: Software Testing: History, Trends, Perspectives - a Brief Overview

Automated TestingTesting tools

Program monitors

• Instruction set simulator• Program animation• Code coverage reports

Formatted dump or symbolic debugging

Automated functional GUI testing

Benchmarks

Performance analysis

www.softheme.com Outsourcing to Softheme™ Software Testing

Page 12: Software Testing: History, Trends, Perspectives - a Brief Overview

Agile TestingAgile testing is a software testing practice that follows the principles of

the agile manifesto, emphasizing testing from the perspective of customers who will utilize the system. Agile testing does not emphasize rigidly defined testing procedures, but rather focuses on testing iteratively against newly developed code until quality is achieved from an end customer's perspective. In other words, the emphasis is shifted from "testers as quality police" to something more like "entire project team working toward demonstrable quality."

www.softheme.com Outsourcing to Softheme™ Software Testing

Page 13: Software Testing: History, Trends, Perspectives - a Brief Overview

Agile TestingProcess in Agile testing

Conversational test creation

Coaching tests

Providing test interfaces

Exploratory learning

www.softheme.com Outsourcing to Softheme™ Software Testing

Page 14: Software Testing: History, Trends, Perspectives - a Brief Overview

Agile Testing

Human Testers

Software Product

Automation Fixtures

Man

ual

Testi

ng

Test

Descriptions

TestInterface

Test Interaction Model

www.softheme.com Outsourcing to Softheme™ Software Testing

Page 15: Software Testing: History, Trends, Perspectives - a Brief Overview

Future of Testing

Testsourcing

Virtualization

Information

Moving Testing Forward

Testing Culture

Testers as Designers

Testing beyond Release

www.softheme.com Outsourcing to Softheme™ Software Testing

Page 16: Software Testing: History, Trends, Perspectives - a Brief Overview

Future of TestingTestosourcing

1st Generation

Insourcing

Provide tools

2nd Generation

Outsourcing

Provide testing

3rd Generation

Crowdsourcing

Provide testers

4th Generation

Testsoursing

Provide test artifacts

www.softheme.com Outsourcing to Softheme™ Software Testing

Page 17: Software Testing: History, Trends, Perspectives - a Brief Overview

Future of TestingTestosourcing

In order for testsourcing to take hold of the future of testing, two key technological barriers must be broken:

reusability of test artifacts

accessibility of user

environments

www.softheme.com Outsourcing to Softheme™ Software Testing

Page 18: Software Testing: History, Trends, Perspectives - a Brief Overview

Future of TestingVirtualization

If tester want to test, say, Chrome, he visits a Web site, tells it how many machines he wants and what operating systems, drivers, apps, and the version of Chrome that he wants on them, and those machines are provisioned, and he can point my test automation at them. Tester doesn't care where they are. He doesn't care what they are. They exist, and they act just like the test environment that tester would otherwise have to painstakingly - and expensively - create.

www.softheme.com Outsourcing to Softheme™ Software Testing

Page 19: Software Testing: History, Trends, Perspectives - a Brief Overview

Future of TestingInformation

“Information is at the core of everything we do as software testers. The better our information about what the software is supposed to be doing and how it is doing it, the better our testing can actually be. I find it unacceptable that testers get so little information and none of it is specifically designed to make it easier to do our jobs. I am happy to say that this is changing … rapidly … and that in the near term we will certainly be gifted with the right information at the right time.”

James Whittaker, International speaker

front-end Technical Architect Adobe Community Professional

www.softheme.com Outsourcing to Softheme™ Software Testing

Page 20: Software Testing: History, Trends, Perspectives - a Brief Overview

Future of TestingTesters as Designers

As testing and test techniques move earlier in the process testers will do work more similar to software design than software verification. We will place more emphasis on designing quality strategy for all software artifacts and not just the binary. We will spend more time recognizing the need for testing rather than actually executing test cases. We will oversee and measure automation rather than building and debugging it. We will spend more time reviewing the status of pre-existing tests than building new ones. We will become designers and our work will be performed at a higher level of abstraction and earlier in the lifecycle.

www.softheme.com Outsourcing to Softheme™ Software Testing

Page 21: Software Testing: History, Trends, Perspectives - a Brief Overview

Thank you!

2010 | Softheme Team | Kyiv, Ukraine | Software Outsourcing Solutions

www.softheme.com » Outsourcing to Softheme™

Questions? → [email protected]