Download presentation
Presentation is loading. Please wait.
Published byJuniper Willis Modified over 9 years ago
1
SOFTWARE QUALITY ASSURANCE Maltepe University Faculty of Engineering SE 410
2
CHAPTER 6 SOFTWARE TESTING STRATEGIES SE 410 - Software Quality Assurance
3
Software Testing “Testing” was the first software quality assurance tool applied to control the software product’s quality before its shipment or installation at the customer’s premises. At first, testing was confined to the final stage of development, after the entire package had been completed (Acceptance/system testing).
4
SE 410 - Software Quality Assurance Software Testing Later, as the importance of early detection of software defects penetrated quality assurance concepts, SQA professionals were encouraged to extend testing to the partial in-process products of coding, which led to software module (unit) testing and integration testing.
5
SE 410 - Software Quality Assurance Software Testing Software testing is undoubtedly the largest consumer of software quality assurance resources. In a survey performed in November 1994, Perry (1995) found that on average, 24% of the project development budget was allocated to testing. 32% of the project management budget was slated for testing activities. With respect to time resources, an average of 27% of project time was schedule for testing.
6
SE 410 - Software Quality Assurance Software Testing Testing is certainly not the only type of SQA tool applied to software code. Additional tools are code inspections and code walkthroughs, methods implemented on code printout without actually running the program.
7
SE 410 - Software Quality Assurance Software Testing - Definition Software testing is a formal process carried out by a specialized testing team in which a software unit, several integrated software units or an entire software package are examined by running the programs on a computer. All the associated tests are performed according to approved test procedures on approved test cases.
8
SE 410 - Software Quality Assurance Software Testing – Definition … Formal – Software test plans are part of the project’s development and quality plans, scheduled in advance and often a central item in the development agreement signed between the customer and the developer. In other words, ad hoc examination of software by a colleague or regular checks by the programming team leader cannot be considered software tests.
9
SE 410 - Software Quality Assurance Software Testing – Definition … Specialized testing team – An independent team or external consultants who specialize in testing are assigned to perform these tasks mainly in order to eliminate bias and to guarantee effective testing by trained professionals.
10
SE 410 - Software Quality Assurance Software Testing – Definition … Approved test procedures – The testing process performed according to testing procedures that have been approved as conforming to the SQA procedures adopted by the developing organization. Approved test cases – The test cases to be examined are defined in full by the test plan. No omissions or additions are expected to occur during testing.
11
SE 410 - Software Quality Assurance Software testing strategies To test the software in its entirety, once the completed package is available. (acceptance test) To test the software piecemeal, in modules, as they are completed (unit tests); then to test groups of tested modules integrated with newly completed modules (integration tests).
12
SE 410 - Software Quality Assurance Top-Down & Bottom-Up Tests In top-down testing, the first module tested is the main module, the highest level module in the software structure; the last modules to be tested are the lowest level modules. In bottom-up testing, the order of testing is reversed: the lowest level modules are tested first, with the main module tested last.
13
SE 410 - Software Quality Assurance Top-Down & Bottom-Up Tests In top-down testing, the first module tested is the main module, the highest level module in the software structure; the last modules to be tested are the lowest level modules. In bottom-up testing, the order of testing is reversed: the lowest level modules are tested first, with the main module tested last.
14
SE 410 - Software Quality Assurance Stubs & Drivers Stubs and drivers are software replacement simulators required for modules not available when performing a unit or an integration test. A stub (often termed a “dummy module”) replaces an unavailable lower level module, subordinate to the module tested. Stubs are required for top-down testing of incomplete systems.
15
SE 410 - Software Quality Assurance Stubs & Drivers … Like a stub, a driver is a substitute module but of the upper level module that activates the module tested. The driver is passing the test data on to the tested module and accepting the results calculated by it. Drivers are required in bottom-up testing until the upper level modules are developed (coded).
16
SE 410 - Software Quality Assurance Bottom-Up vs. Top-Down The main advantage of the bottom-up strategy is the relative ease of its performance, whereas the main disadvantage is the lateness at which the program as a whole can be observed. The main advantage of the top-down strategy is the possibilities it offers to demonstrate the entire program functions shortly after activation of the upper-level modules has been completed. In many cases, this characteristic allows for early identification of analysis and design errors related to algorithms, functional requirements, and the like.
17
SE 410 - Software Quality Assurance Bottom-Up vs. Top-Down The main disadvantage of this strategy is the relative difficulty of preparing the required stubs, which often require very complicated programming.
18
SE 410 - Software Quality Assurance Software test classifications There is an ongoing debate over whether testing the functionality of software solely according to its outputs is sufficient to achieve an acceptable level of quality. Some claim that the internal structure of the software and the calculations (i.e., the underlying mathematical structure, also known as the software “mechanism”) should be included for satisfactory testing.
19
SE 410 - Software Quality Assurance Software test classifications … Black box (functionality) testing. Identifies bugs only according to software malfunctioning as they are revealed in its erroneous outputs. In cases that the outputs are found to be correct, black box testing disregards the internal path of calculations and processing performed.
20
SE 410 - Software Quality Assurance Software test classifications … White box (structural) testing. Examines internal calculation paths in order to identify bugs. Although the term “white” is meant to emphasize the contrast between this method and black box testing, the method’s other name – “glass box testing” – better expresses its basic characteristic, that of investigating the correctness of code structure.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.