Software testing Testing Process Software testing strategy Planning ...
Recommend Documents
1. Testing Strategy. Suradet Jitprapaikulsarn. Derived from Roger S. Pressman,
Software. Engineering: A Practitioner's Approach, 6th Edition,. McGraw-Hill 2005.
The software testing performance that we focus on this study encompasses key ... (1) The test project needs to use effective test tools. (2) Testers should work ... preparation, test execution, automated testing, and perfor- mance testing [13, 14, ..
Goal of testing: given some code, uncover as many errors ... testing, become
paranoid and malicious. ▫ Surprisingly .... Good example in Pressman, Sect. 17.4.
3 ...
Dec 25, 2010 - which provides multilingual translation and software localization services. In addition, it also provides
Software Testing is the process of evaluation a software item to detect differences between given input and expected output.
Why do we test? – To check if there are any errors in a part or a product. ...
Testing is to show that a program has bugs ..... Note: Redraw from [Pressman
2004].
ISTQB 2. ASQF V. ISEB V2 fied Teste ation Level Sy. 2011 al Software Testing Q
ion Histo. D ... Certified Test ning Objective ..... Foundation C. International.
2004-2006. SEOC - Lecture Note 17. 2. What is Software Testing? ▫ Software
Testing is the design and implementation of a special kind of software system:
one ...
25 Dec 2010 - James Bach describes Rapid Testing from the viewpoint of a professional tester. I have inserted the word â
Oct 13, 1994 - apply informal and formal proofs to verify and validate software requirements .... The steps in the model can be described as follows: 1. Informal ...
All rights reserved. 2. Note to the Instructor. ▫. I used this in an earlier version of
the course, when we worked through the Myers triangle in the first lecture. ▫.
multi-sector read operation of a Samsung flash storage platform and compared the .... Note that this ..... l =7 8.8 Ã 105 7.3 Ã 106 3.9 Ã 107 1.5 Ã 108 5.0 Ã 108.
Four Fundamental Challenges to Competent Testing. □ Complete testing is ...
Test every hardware / software configuration, including configurations of servers
...
In the Dark Future, ISO Standard 29119 will tell us what to test and how to test it. “
Whatever type of testing you do, it will affect you.” It doesn't matter if the people ...
So even though the customer needs, the market conditions, the schedule, the ..... The state of tester certification as o
The Graybox Testing Methodology is a software testing method used to test ... of
a host platform debugger to execute and validate the software under test.
Internet (www.testingfaqs.org), which Brian Marick made famous and is now .....
Generates meaningful data from an extensive test database that includes tens of
...
A key factor that has prevented the widespread use of behavioural ..... duce a test set that adequately exercises the target method; these are .... TicTacToe. [4]. 69.
KPMG's software testing services provide thorough testing, consulting and delivery services to clients that help them im
According to ISO 9241-11, usability depends on context of use and the level of ...
ISO/IEC 25000:2005 is commonly known as the standard that provides the ...
Lecture Notes: Testing I ... testing is strongly used in software engineering: up to
40% of software ... test object: the software component or program to be tested.
If you wait until you can run the "best" tests, you'll postpone testing whole areas of ...... In business, software development is usually done by a group of people ...
Software Testing is the process of executing an application with intent to identify the bugs present in the application. The key objective of Software Testing is to ensure that the application meets the requirements specified in the requirements docu
Errors in the software controlling the baggage handling system of Denver .... Branch coverage is more demanding, especially in relation to virtual method calls ...
Software testing Testing Process Software testing strategy Planning ...
1. Software testing. Implementation. Testing Process. Determining the test
methodology. Planning the test. Designing the test. Performing the test. •
Appropriate ...
Testing Process Determining the test methodology
Software testing Planning the test
Implementation
Designing the test
Performing the test
Determining the test methodology • Appropriate required software quality standard. e.g: 1. software package for hospital patient bed monitor requires highest quality standard. 2. A package developed for handling feedback information for an organization’s internal employee training program could make do with a medium-level software quality standard.
Planning the test • Unit tests – deal with small units of software or modules. e.g: function, procedure, method. The goal of unit testing is to isolate each part of the program and show that the individual parts are correct. • Integration tests – deal with several units that combine into a subsystem. To make sure that the interaction of two or more components produces results that satisfy functional requirement. e.g. receive data from different components and how to pass data to different components. • System tests – deals with entire software system. Defects found during the system testing are either fixed after doing thorough impact analysis or are documented as known limitations
Software testing strategy • Big bang • Incremental • Which part should be performed according to white box testing? • Which part should be performed according to the automated testing model?
Assessing Testing effort • How to know when testing can stop? • How to assess testing success at removing defects? • Examples of approaches: Independent test groups Fault seeding technique Mutant-based testing Defect plotting
1
Estimation using Independent Test Groups • Evaluate how many defects are in a software product and the efficiency of defect removal Uses independent groups testing same program Example: 2 groups x = number of faults detected by Test Group 1 y = number of faults detected by Test Group 2 q = number of common faults detected by both Test Groups n = total number of faults in the program E1 effectiveness of Group 1: x/n E2 effectiveness of Group 2: y/n n = (x*y)/q = q/(E1*E2)
Mutant-based testing • To assess the effectiveness of a test suite for defects detection • a version of a program obtained by replicating the original program except for one small change (a mutation) • corresponds to a typical error • Examples of mutations: - Value – change constants, subscripts, parameters by adding/subtracting one, etc. - Decision – modify the sense of decisions (e.g. < to >=) - Statement – delete/exchange statements • Mutant killed by a test suite if it is revealed (fail) • Kill ratio of a test suite = # mutant killed/# of mutants • higher the kill ratio, better the test suite is • Needs tool support (e.g. Mothra)
Fault seeding technique • To estimate the number of faults in a program • Before testing, seed program with a number of typical faults • After a period of testing, compare the number of seeded and non seeded faults detected N = number of non seeded (unintentional) faults S = number of seeded faults placed in the program n = actual number of faults detected during testing s = number of seeded faults detected during testing N = S*(n/s)
Defect Plotting • To help decide when to stop testing • Plot number of defects found per period of testing • Graph supposed to peak, then drop, and plateau
Automated testing • Additional step in integration of computerized tools into the process of software development. • Advantages – cost saving, shortened test duration, heightened thoroughness of the tests performed, improve test accuracy, improving of result.
2
Types of automated tests • Code auditing – coding style follow coding style procedure? e.g. – naming conventions for variables, files. • Auditor’s report includes a list of deviations from the standards and statistical summary of the findings.
• Functional tests – replace manual blackbox correctness tests. - Load tests – An automated testing system enables measurement of the expected performance of the software system under various load levels. - Test management – provide follow-up and reporting of the testing and correction of detected errors.
Disadvantages of automated tests • High investment in package purchasing and training • High manpower tester resources for preparing the tests • Considerable testing areas not covered by automated testing
• Coverage monitoring – produce reports about line coverage achieved when implementing a given test case file as well as listing of uncovered lines.
Advantages of automated tests • • • • • •
Accuracy and completeness of performance Accuracy of results log and summary reports Obtain much more comprehensive information Performance requires few manpower resources Performance of complete regression tests Performance of test classes beyond the reach of manual testing.
Alpha testing and beta site testing programs • Objective: to obtain comments about quality from the package’s potential users. • Alpha testing – perform at developer’s site. • Beta testing – advance version of software will be offered free of charge to potential users. Users will test at their site. Involve many participants.
3
Advantages of beta site testing
Disadvantages of beta site tests
- Identification of unexpected errors - A wider population in search of errors - Low costs
- Lack of systematic testing - Low quality of error reports - Difficult to produce the best environment - Much effort is required to examine reports