Presentation is loading. Please wait.

Presentation is loading. Please wait.

O&L/LEQ Software Testing Eliane Collins 1 © 2008 INdT 2008-08-26 / LEQ.

Similar presentations


Presentation on theme: "O&L/LEQ Software Testing Eliane Collins 1 © 2008 INdT 2008-08-26 / LEQ."— Presentation transcript:

1 O&L/LEQ Software Testing Eliane Collins © INdT / LEQ

2 SOFTWARE TESTING Summary: Software Testing Introduction
Software Test Process Unit Test Concepts Functional Software Test Concepts Software Test in the Rails and Ruby environment © INdT / LEQ

3 Software Testing Introduction
© INdT RECOF.ppt / / LEQ

4 SOFTWARE TESTING Software Testing Introduction:
What is Software Testing? Software testing is the process of checking software, to verify that it satisfies its requirements and to detect errors. According to Myers "Software Testing is the process of executing a program or system with the intent of finding errors.“ According to the definition given by Hetzel, "Testing involves any activity aimed at evaluating an attribute or capability of a program or system and determining that it meets its required results © INdT / LEQ

5 SOFTWARE TESTING Software Testing Introduction:
Why do Software Testing? Because of the fallibility of its human designers and its own abstract, complex nature, software development must be accompanied by quality assurance activities. Software Testing Fundamentals Testing is a process of executing a program with the intent of finding an error. A good test case is one that has a high probability of finding an as yet undiscovered error. A good test must be A-TRIP: Automatic, Thorough, Repeatable, Independent and Professional. © INdT / LEQ

6 SOFTWARE TESTING © INdT / LEQ

7 SOFTWARE TESTING Software Testing Introduction:
Software testing answers questions that development testing and code reviews can’t. Does it really work as expected? Does it meet the users’ requirements? Is it what the users expect? Do the users like it? Is it compatible with our other systems? How does it perform? Which areas need more work? Is it ready for release? © INdT / LEQ

8 SOFTWARE TESTING Software Testing Introduction:
What can we do with the answers to these questions? Save time and money by identifying defects early Avoid or reduce development downtime Provide better customer service by building a better application Know that we’ve satisfied our users’ requirements Build a list of desired modifications and enhancements for later versions Identify and catalog reusable modules and components Identify areas where programmers and developers need training © INdT / LEQ

9 SOFTWARE TESTING Software Testing Introduction: Who Does The Testing?
Software testing is not a one person job. It takes a team, larger or smaller depending on the size and complexity of the application being tested. The programmer(s) should have a reduced role in the testing if possible, because they are so intimately involved with the product and “know” that it works that they may not be able to take an unbiased look at the results of their labors. Testers must be cautious, curious, critical but non-judgmental, and good communicators. One part of their job is to ask questions that the developers might find not be able. Roles: test lead/manager, test designer (test analyst, test engineer) , tester, test automater/automation developer, and test administrator. © INdT / LEQ

10 SOFTWARE TESTING Software Testing Introduction:
What is a defect, an error and a failure? A programmer makes an error (mistake), which results in a defect (fault, bug) in the software source code. If this defect is executed, in certain situations the system will produce wrong results, causing a failure. How to Test? Whitebox Testing: testing the code: code coverage, mutation testing, fault injection methods, static testing. Graybox Testing or Integration testing: individual software modules are combined and tested as a group. It follows unit testing and precedes system testing. Blackbox Testing: treats the software as a black-box without any knowledge of internal implementation. © INdT / LEQ

11 SOFTWARE TESTING Software Testing Introduction: Techniques:
Whitebox Unit Testing Code Coverage Graybox Testing Integration Testing Blackbox System Testing Alpha and Beta Testing Acceptance Testing Regression Testing © INdT / LEQ

12 SOFTWARE TESTING Software Testing Introduction: Testing artifacts:
Test plan: approach to testing a system such as a software. The plan typically contains a detailed understanding of what the eventual workflow will be. Test case: set of conditions or variables under which a tester will determine if a requirement or use case upon an application is partially or fully satisfied. Test script: the combination of a test case, test procedure, and test data. Test suite: The most common term for a collection of test cases. Test case specification: Document with all list of functional test cases to be executed and the results. Test harness or automated test framework: is a collection of software and test data configured to test a program unit by running it under varying conditions and monitor its behavior and outputs. © INdT / LEQ

13 Software Testing Process
© INdT / LEQ

14 SOFTWARE TESTING Software Test Process:
© INdT / LEQ

15 SOFTWARE TESTING Software Test Process: Test Plan:
Test Design or Test Specification: Test Summary report © INdT / LEQ

16 SOFTWARE TESTING Software Test Process: Defect Tracking
The functional defects found should be registered, watched and managed during the software development. One person should be responsible for the defect tracking control (the bugtracker). The status of a defect can be: New Open (or assign) Invalid (or not a bug, Incomplete, reject, etc.) Won’t fix (postponed) Duplicated Fixed Closed Re-opened © INdT / LEQ

17 SOFTWARE TESTING © INdT / LEQ

18 SOFTWARE TESTING Software Test Process:
Defect Tracking tools : Gforge, Bugzilla, Mantis, ClearQuest… Data to register a defect: Project name Synopsis Release version Pre-requirements, Steps to reproduce, Expected results and System results Owner Assign to © INdT / LEQ

19 SOFTWARE TESTING Unit Test Concepts
© INdT RECOF.ppt / / LEQ

20 SOFTWARE TESTING Unit Testing Concepts:
Unit Test is a piece of code written by a developer that exercises a very small and specific area of the code. First step is to decide how to test the method, with this idea, you proceed to write the test code. Next, the test must be run. It’s important that all the tests pass. Using Right-Bicep: Right – Are the results right? B – boundary conditions I – inverse relationships C - Cross-check E – error conditions P – are performance characteristics within bounds? © INdT / LEQ

21 SOFTWARE TESTING Unit Testing Concepts: Excuses for not testing:
Its take too much time... It’s not my job to test my code... But it compiles! I’m being paid to write code, not to test... I feel guilty about putting testers and QA out of work...

22 SOFTWARE TESTING Criteria: At least 80% code coverage.
Unit Testing Concepts: Criteria: At least 80% code coverage. Unit Testing Tools: JUnit Test - TestNG J2MEUnit - CppUnit JCoverage - © INdT / LEQ

23 Functional Testing Concepts
SOFTWARE TESTING Functional Testing Concepts © INdT RECOF.ppt / / LEQ

24 SOFTWARE TESTING Functional Testing Concepts:
Test the functionality according to the requirements. Test the entire system from end to end, it compares individual results to expected values. the role of functional tests as a medium of communication and supplement to stories in the dialog between development and customer. Can be automatics, it’ s depends of the test strategy. Techniques: Scripting Tests Exploratory Tests Manual Tests Automated Tests © INdT / LEQ

25 SOFTWARE TESTING Functional Testing Concepts: Non-functional tests:
Performance testing : checks to see if the software can handle large quantities of data or users. Security testing: to prevent system intrusion by hackers. internationalization and localization: is needed to test these aspects of software, for which a pseudo localization method can be used. Stress testing: the application is executed many times to see if the software can handle many operations.

26 SOFTWARE TESTING Functional Testing Tools: Criteria: 100% tests pass
Selenium Test – functional automated test. ( Jmeter – performance tests. ( Fitnesse - functional automated test. ( Rational Robot - functional automated test. Rational Functional Tester - web functional automated test. Test Complete- functional and performance automated test. OpenLoad Tester – performance tests. © INdT / LEQ

27 Software Testing in Ruby on Rails environment
© INdT RECOF.ppt / / LEQ

28 SOFTWARE TESTING Ruby on Rails Testing Process: Ruby on Rails:
Ruby is an agile script language Write more understandable code in less lines, Free (Very open license) and Extensible. Principles: Makes programmers happy and makes Ruby easy to learn. Ruby on Rails promotes agile practices Rails is a meta-framework to agile web applications According to the Model-View-Control pattern of separation. © INdT / LEQ

29 SOFTWARE TESTING © INdT / LEQ

30 SOFTWARE TESTING Ruby on Rails Testing Process:
Test Driven Development (TDD): Do the tests first. © INdT / LEQ

31 SOFTWARE TESTING Ruby on Rails Testing Process:
Test Driven Development (TDD) Benefits: Better code quality Tests become Safety Eliminate Bugs 100% test coverage Code proven to meet requirements Risks: Requirements changes : re-work Some tests are more complex to implement then the application code. © INdT / LEQ

32 SOFTWARE TESTING Ruby on Rails Testing Process: Unit Testing - TDD
Rails includes Ruby’s test/unit Rake pre-configured to run test suite or individual tests Easy to load fixtures into a test case Functional Testing Controllers testing Automatic - Selenium © INdT / LEQ

33 SOFTWARE TESTING References:
Software Testing Wikipedia - Rails Wiki - Pragmatic Unit Testing in java with Junit, Hunt Andrew, 2005. Software Testing Fundamentals—Concepts, Roles, and Terminology , John E. Bentley, Wachovia Bank, Charlotte NC. www2.sas.com/proceedings/sugi30/ pdf TDD Wikipedia - The Software Testing Life-Cycle, Andrew Ireland. © INdT / LEQ


Download ppt "O&L/LEQ Software Testing Eliane Collins 1 © 2008 INdT 2008-08-26 / LEQ."

Similar presentations


Ads by Google