FUNDAMENTALS OF TESTING
       Hoang V. Nguyen
       startnewday85@gmail.com
       startnewday85.blogspot.com
       Dept. of Computer Science – FIT - HUA




Tester Training Course
Tester Training Course   2011
Tester Training Course   2011
Tester Training Course   2011
Tester Training Course   2011
Tester Training Course   2011
Monitoring and control
   Planning




                                  Implementation
              Analysis

                         Design




                                                                           Closure
                                                    Execution
                                                       Evaluating
                                                       exit criteria
                                                   Reporting test result




Tester Training Course                                                               2011
Tester Training Course   2011
Company Level




                                Project Level




                                         Test stage Level




Tester Training Course                                 2011
 Run a test, it fails, fault reported
    New version of software with fault “fixed”
    Re-run the same test (i.e. re-test)
        • must be exactly repeatable
        • same environment, versions (except for the software
          which has been intentionally changed!)
        • same inputs and preconditions
    If test now passes, fault has been fixed
     correctly - or has it?

Tester Training Course                                          2011
Tester Training Course   2011
 To eliminate unexpected-side effects, but
     can still exist
    Are performed:
        • after software changed, including faults fixed
        • when environment changes, even if application
          functionality not change
        • for emergency fixes(possibly a subset)
    Regression test suites
        • evolve over time
        • are run often
        • may become rather large

Tester Training Course                                     2011
Question
                         The five parts of the fundamental test process have a
                         broad chronological order. Which of the options gives
                         three different parts in the correct order?


                         Impl. & exe., planning & control, analysis & design

                         Analysis & design, eval. exit criteria & reporting, test
                         closure activities;

                         Eval. exit criteria & reporting, impl. And exe.,
                         analysis and design.

                         Eval. exit criteria & reporting, test closure activities,
                         analysis and design.




Tester Training Course                                                               2011
Question
  Which option is part of the ’implementation and
  execution’ area of the fundamental test process?



Developing the tests;


Comparing actual and expected results;


Writing a test summary;


Analysing lessons learnt for future releases.




 Tester Training Course                              2011
Question
                         As part of which test process do you determine the
                         exit criteria?



                         Test planning;


                         Test closure;


                         Evaluating exit criteria and reporting;


                         Test control.




Tester Training Course                                                        2011
Question
  Which of the following is a Major task of test
  implementation and execution?



Measuring and anslyzing results;


Reporting discrepancies as incidents;


Identifying test conditions or test requirements;


Assessing if more tests are needed.




 Tester Training Course                             2011
Question
                         Which activity in the fundamental test process
                         creates test suites for efficent test execution?



                         Implementatin and execution;


                         Planning and control;


                         Analysis and design;


                         Test closure.




Tester Training Course                                                      2011
Question
  What is the purpose of exit criteria?




To define when a test level is complete;


To determine when a test has completed;

To identify when a software system should be
retired;

To determine whether a test has passed.
Question
                         Which activities form part of test planning
                            i.   Developing test cases
                            ii. Defining the overall approach to testing
                            iii. Assigning resources
                            iv. Building the test environment
                            v. Writing test conditions

                         i, ii & iv are true; iii & v are false


                         ii & iii are true; iv & v are false


                         iv & v are true; ii & iii are false


                         i, ii & iii are true; iv & v are false




Tester Training Course                                                     2011
Question
  When a defect is detected and fixed then the
  software should be retested to confirm that the
  original defect has been successfully removed.
  This called?



Regression testing;


Maintenance testing;


Confirmation testing;


None of the above.




 Tester Training Course                             2011
Question
                          Which of the following are chracteristic of regression
                          testing
                                    i.     Regression testing is run Oly one
                                    ii.    Regression testing is used after fixes have been
                                           made
                                    iii.   Regression testing is often automated
                                    iv.    Regression testing need not be maintained

                         ii & iv


                         ii & iii


                         i, iii & iv


                         iii




Tester Training Course                                                                        2011
Question
  Which of the following is true?


Confirmation testing is testing fixes to a set of
defects and regression testing is testing to establish
whether any defects have been introduced as a
result of changes;
Confirmation testing is testing to establish whether
any defects have been introduced as a result of
changes and regression testing s testing fixes to a
set of defects;

Confirmation testing and regression testing are
both testing to establish whether any defects have
been introduced as a result of changes;

Confirmation testing and regression testing are
both testing fixes to a set of defects.


 Tester Training Course                                  2011
Question
                         The different between re-testing and regression
                         testing is



                         Re-testing is running a test again; regression testing
                         looks for unexpected side effects

                         Re-testing looks for unexpected side effects;
                         regression testing is repeating those tests

                         Re-testing is done after faults are fixed; regression
                         testing is done earlier

                         Re-testing uses different environments; regression
                         testing uses the same environment

                         Re-testing is done by developer; regression testing
                         is done by independent testers
Tester Training Course                                                            2011
Tester Training Course   2011
Tester Training Course   2011
Tester Training Course   2011
Tester Training Course   2011
Tester Training Course   2011
Tester Training Course   2011
Tester Training Course   2011
Demonstrate conformance to requirements


         Find faults


         Prove that the software is correct


         Build confidence


        Assess the software quality




Tester Training Course                             2011
 Goal: show that the system works
     correctly
      Show that the system:
          • does what it should
          • doesn’t do what it shouldn’t
      Success: the system work correctly



Tester Training Course                      2011
 Goal: show that the system fails
      Show that the system:
          • does what it shouldn’t
          • doesn’t do what it should
      Success: the system fails




Tester Training Course                    2011
Tester Training Course   2011
Tester Training Course   2011
Test your own work
      Is inefficient(30%-50% faults)
      Because:
          • same assumptions and thought processes
          • see what you meant or want to see, not what is there
          • actively want not find faults




Tester Training Course                                             2011
Independence
      Levels of dependence
          • None: tests designed by the person who wrote the
          software
          • Tests designed by a different person
          • Tests designed by someone from a different
          department or team (e.g. test team)
          • Tests designed by someone from a different
          organisation (e.g. Agency)




Tester Training Course                                         2011
• The fundamental test process
                         • Psychology of testing




Tester Training Course                                    2011

Fundamentals of Testing 2

  • 1.
    FUNDAMENTALS OF TESTING Hoang V. Nguyen startnewday85@gmail.com startnewday85.blogspot.com Dept. of Computer Science – FIT - HUA Tester Training Course
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
    Monitoring and control Planning Implementation Analysis Design Closure Execution Evaluating exit criteria Reporting test result Tester Training Course 2011
  • 8.
  • 9.
    Company Level Project Level Test stage Level Tester Training Course 2011
  • 10.
     Run atest, it fails, fault reported  New version of software with fault “fixed”  Re-run the same test (i.e. re-test) • must be exactly repeatable • same environment, versions (except for the software which has been intentionally changed!) • same inputs and preconditions  If test now passes, fault has been fixed correctly - or has it? Tester Training Course 2011
  • 12.
  • 13.
     To eliminateunexpected-side effects, but can still exist  Are performed: • after software changed, including faults fixed • when environment changes, even if application functionality not change • for emergency fixes(possibly a subset)  Regression test suites • evolve over time • are run often • may become rather large Tester Training Course 2011
  • 14.
    Question The five parts of the fundamental test process have a broad chronological order. Which of the options gives three different parts in the correct order? Impl. & exe., planning & control, analysis & design Analysis & design, eval. exit criteria & reporting, test closure activities; Eval. exit criteria & reporting, impl. And exe., analysis and design. Eval. exit criteria & reporting, test closure activities, analysis and design. Tester Training Course 2011
  • 15.
    Question Whichoption is part of the ’implementation and execution’ area of the fundamental test process? Developing the tests; Comparing actual and expected results; Writing a test summary; Analysing lessons learnt for future releases. Tester Training Course 2011
  • 16.
    Question As part of which test process do you determine the exit criteria? Test planning; Test closure; Evaluating exit criteria and reporting; Test control. Tester Training Course 2011
  • 17.
    Question Whichof the following is a Major task of test implementation and execution? Measuring and anslyzing results; Reporting discrepancies as incidents; Identifying test conditions or test requirements; Assessing if more tests are needed. Tester Training Course 2011
  • 18.
    Question Which activity in the fundamental test process creates test suites for efficent test execution? Implementatin and execution; Planning and control; Analysis and design; Test closure. Tester Training Course 2011
  • 19.
    Question Whatis the purpose of exit criteria? To define when a test level is complete; To determine when a test has completed; To identify when a software system should be retired; To determine whether a test has passed.
  • 20.
    Question Which activities form part of test planning i. Developing test cases ii. Defining the overall approach to testing iii. Assigning resources iv. Building the test environment v. Writing test conditions i, ii & iv are true; iii & v are false ii & iii are true; iv & v are false iv & v are true; ii & iii are false i, ii & iii are true; iv & v are false Tester Training Course 2011
  • 21.
    Question Whena defect is detected and fixed then the software should be retested to confirm that the original defect has been successfully removed. This called? Regression testing; Maintenance testing; Confirmation testing; None of the above. Tester Training Course 2011
  • 22.
    Question Which of the following are chracteristic of regression testing i. Regression testing is run Oly one ii. Regression testing is used after fixes have been made iii. Regression testing is often automated iv. Regression testing need not be maintained ii & iv ii & iii i, iii & iv iii Tester Training Course 2011
  • 23.
    Question Whichof the following is true? Confirmation testing is testing fixes to a set of defects and regression testing is testing to establish whether any defects have been introduced as a result of changes; Confirmation testing is testing to establish whether any defects have been introduced as a result of changes and regression testing s testing fixes to a set of defects; Confirmation testing and regression testing are both testing to establish whether any defects have been introduced as a result of changes; Confirmation testing and regression testing are both testing fixes to a set of defects. Tester Training Course 2011
  • 24.
    Question The different between re-testing and regression testing is Re-testing is running a test again; regression testing looks for unexpected side effects Re-testing looks for unexpected side effects; regression testing is repeating those tests Re-testing is done after faults are fixed; regression testing is done earlier Re-testing uses different environments; regression testing uses the same environment Re-testing is done by developer; regression testing is done by independent testers Tester Training Course 2011
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
    Demonstrate conformance torequirements Find faults Prove that the software is correct Build confidence Assess the software quality Tester Training Course 2011
  • 33.
     Goal: showthat the system works correctly  Show that the system: • does what it should • doesn’t do what it shouldn’t  Success: the system work correctly Tester Training Course 2011
  • 34.
     Goal: showthat the system fails  Show that the system: • does what it shouldn’t • doesn’t do what it should  Success: the system fails Tester Training Course 2011
  • 35.
  • 36.
  • 37.
    Test your ownwork  Is inefficient(30%-50% faults)  Because: • same assumptions and thought processes • see what you meant or want to see, not what is there • actively want not find faults Tester Training Course 2011
  • 38.
    Independence  Levels of dependence • None: tests designed by the person who wrote the software • Tests designed by a different person • Tests designed by someone from a different department or team (e.g. test team) • Tests designed by someone from a different organisation (e.g. Agency) Tester Training Course 2011
  • 39.
    • The fundamentaltest process • Psychology of testing Tester Training Course 2011