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

  • 7,434 views
Uploaded on

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

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

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
7,434
On Slideshare
0
From Embeds
0
Number of Embeds
6

Actions

Shares
Downloads
549
Comments
0
Likes
4

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Software Testing
    History, Trends, Perspectives – a Brief Overview
    www.softheme.com
  • 2. Table of Contents
    • Definition
    • 3. Importance of Software Testing
    • 4. Sample Testing Cycle
    • 5. Unit Testing
    • 6. Unit Testing Benefits
    • 7. Automated Testing
    • 8. Agile Testing
    • 9. Future of Testing
    www.softheme.com Outsourcing to Softheme™ Software Testing
  • 10. Definition
    Software 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
  • 11. Importance of Software Testing
    Prove usability and operability
    To improve Quality
    For reliability estimation
    Know where your problem is
    Prevent defect migration
    www.softheme.com Outsourcing to Softheme™ Software Testing
  • 12. 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
  • 13. 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
  • 14. Unit Testing Benefits
    Facilitates change
    Unit 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 integration
    Unit 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
  • 15. Unit Testing Benefits
    Documentation
    Unit 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.
    Design
    When 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
  • 16. 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
  • 17. Automated Testing
    Why?
    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
  • 18. Automated Testing
    Testing tools
    • Program monitors
    • 19. Instruction set simulator
    • 20. Program animation
    • 21. Code coverage reports
    • 22. Formatted dump or symbolic debugging
    • 23. Automated functional GUI testing
    • 24. Benchmarks
    • 25. Performance analysis
    www.softheme.com Outsourcing to Softheme™ Software Testing
  • 26. Agile Testing
    Agile 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
  • 27. Agile Testing
    Process in Agile testing
    Conversational test creation Coaching testsProviding test interfacesExploratory learning
    www.softheme.com Outsourcing to Softheme™ Software Testing
  • 28. Agile Testing
    Test Interaction Model
    Human Testers
    Manual
    Testing
    Test
    Descriptions
    Software Product
    Automation Fixtures
    Test
    Interface
    www.softheme.com Outsourcing to Softheme™ Software Testing
  • 29. 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
  • 30. Future of Testing
    Testosourcing
    www.softheme.com Outsourcing to Softheme™ Software Testing
  • 31. Future of Testing
    Testosourcing
    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
  • 32. Future of Testing
    Virtualization
    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
  • 33. Future of Testing
    Information
    “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
  • 34. Future of Testing
    Testers 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
  • 35. Thank you!
    Questions?->info@softheme.com
    2010 | Softheme Team | Kyiv, Ukraine | Software Outsourcing Solutions
    www.softheme.com»Outsourcing to Softheme™