Art of Software Testing
Prof.Sheetal N.Khanore
Bunts Sangha`s S.M.Shetty College Science, Commerce and Management Studies,
Abstract
Software testing is a technical task, but it also involves some important considerations of economics and human psychology. In technical aspects it is the process of analyzing a software item to detect the differences between existing and required conditions (that is defects/errors/bugs) and to evaluate the features of the software item”. A software error occurs when the program does not do, what its end user reasonably expects it to do.
Software testing is more difficult because of the vast array of programming languages, operating systems, and hardware platforms that have evolved but at the same time
…show more content…
This study may be helpful to comprehend the philosophy or attitude towards the software testing.
Keywords: - Software Testing, Philosophy of Software testing
___________________________________________________________________________
Introduction
Software engineering provides the framework for building the high quality software. It integrates the various strategies, methods and tools for the software development. The revolution of software engineering offers the different types of software development models. It majorly ratifies the performance of the software through the testing and maintenance phase of the software.
The testing move toward the static testing (human testing) and dynamic testing (Computer aided testing).
There are some basic strategies that qualify the software to make sure it’s good performance. These strategies listed below
Structure testing
White box testing( developer testing)
focuses on the inner structure of the test object
Function testing
Black-box testing ( user testing)
Behavior given by the specification The validation improves the performance of testing by increasing the confidence in the quality issues of the software.
System Testing
System testing is not a process of testing the functions of the complete system or program, because this would be redundant with the process of function testing. This testing has a particular purpose as to
Integration testing can expose problems with the interfaces among program components before trouble occurs in real-world program execution. It identifies issues when two or more smaller blocks of code are combined.
Test Plan: The software is tested using two levels of testing viz. black box testing and white box testing. White box testing could be carried out in three different phases viz. unit testing system/integration testing and validation testing. • Unit Testing: Unit testing, also known as Module Testing, focuses verification efforts on the module. The module is tested separately and this is carried out at the programming stage itself.Unit Test comprises of the set of tests performed by an individual programmer before integration of the unit into the system. Unit test focuses on the smallest unit of software design- the software component or module. Using component level design, important control paths are tested to uncover errors within the boundary of the module. Unit test is white box oriented and the step can be conducted in parallel for
For the system, which should never be failed, the reliability test of the software should be done. For this, the black box and white box testing should be done on the software. After the successful development of the software, a beta version should be released. The errors and bugs related to the security and functional requirements can be find out in an easy manner.
Over the period of time, software testing has become more difficult because of the large number of operating systems, programming languages and hardware platforms that have evolved during the intervening decades. Software is enveloping, which raises the value of testing it. Today’s concept of computer is much more difficult to define due to the machines being more powerful and compact than the earlier devices. Almost every device that we use today contains software. They affect more people and businesses now than ever before.
Smith Systems Consulting has received some feedback and concerns that their processes and procedures are not sufficiently documented. This lack of professional documentation has caused some loss of potential contracts for the firm. The Learning Team Bravo has been given the assignment to define, develop, and propose standards for a software testing environment at Smith. This will be accomplished by defining the Smith engagement approach, introducing the way the firm works with clients and how projects are managed, defining the software development and quality assurance processes and procedures, describing in detail testing procedures to be exercised, describing the infrastructure including hardware and software capabilities that will make up the software testing environment, and by defining the format and requirements for development of formal program specification.
The main aim of software development is to produce high quality software. Superior quality software has characteristics like low cost, reliability and user satisfactory. Software testing is the process of assessing the software in order to discover any defects and determine if the software satisfies all the requirements. It is a step by step process of planning the requirements, executing the program and finding any defects to verify that the program
Developing an application passes through many steps such as analysis , designing , programming and production .After we have an application, we start looking for the quality of this application , this stage not less important than the previous .We should acknowledge that the quality of the application is one the most important factors to success the application . According to the IEEE Standard Glossary of Software
Test such as these are called Unit Tests and test only a specific unit of
The Automated Testing Handbook About the Author Introduction Why automate? When not to automate How not to automate Setting realistic expectations Getting and keeping management commitment Terminology Fundamentals of Test Automation Maintainability Optimization Independence Modularity Context Synchronization Documentation The Test Framework Common functions Standard tests Test templates Application Map Test Library Management Change Control Version Control Configuration Management 1 3 3 4 8 9 10 15 17 19 20 22 23 25 26 29 30 32 32 37 39 41 44 44 45 46
On the contrast, Software Automation means automatic software design. In software development it is significant to liberate software engineers from doing same tedious work multiple times with the assistance of tools. Automation testing approach makes use of various tools based on the testing requirement of the Application under Test (AUT). In Automation testing tester runs the script on the testing tool and testing is done. The tester may or may not know the inside details of the software module under test [9]. Therefore white box testing or black box testing can be used. White box testing is highly effective in detecting and resolving problems, because bugs can often be found before they cause trouble [11]. White box testing is the process of giving the input to the system and checking how the system processes the input and generated the required
In this strategy some test cases are generated as input conditions that fully execute all functional requirements for the program. This testing has been uses to find errors in the following categories.
Programming testing is a basic component of programming quality confirmation and speaks to a definitive audit of determination, plan and coding. Truth be told, trying is the one stage in the product building process that could be seen as damaging as opposed to productive.
This report is going to explain my opinion on how testing software has the ability to significantly improve the quality. I have read certain books that give different reasons for the purpose of testing and how well it actually improves the software, and will reference these as I use them throughout the report. Firstly my opinion on testing is that from experience, I have found testing to help greatly towards improving the quality of the software as it basically breaks down the frame and structure of the software which allows you to see every single line of code in detail and gives you a different perspective so that you can decide what you can do exactly in order to improve the quality. “Software Quality is something everyone wants. Managers know that they want high quality, software developers know they want to produce a quality product, and users insist that software work consistently and be reliable.” (William E. Lewis, 2004)
In both stages of system testing, black box testing techniques are used to test the functions of the system to verify and validate the business requirements have been met.
This chapter will show the process of testing and some of the test strategies that were used. System testing, acceptance testing and functional testing are all included.