We use cookies to give you the best experience possible. By continuing we’ll assume you’re on board with our cookie policy

Software Testing Essay Sample

essay
The whole doc is available only for registered users OPEN DOC
  • Pages:
  • Word count: 1709
  • Category: software

Get Full Essay

Get access to this section to get all help you need with your essay and educational issues.

Get Access

Software Testing Essay Sample

Abstract

During the software development life cycle, testing is highly needed to assure the quality of the software process and product. For many years, researchers and practitioners came-up with a variety of software tools to automate the testing process. In this paper, we will classify and distribute a set of testing tools over the types of testing (testing methods) for three types of software products (web application, application software, and network protocol). However, the outcomes of this classification are dedicated to the researchers and practitioners in software testing to know which types of testing have no or limited automated tools.

Keywords: Software Testing Tools, Classification, Types of Software, CASE. 1. Introduction Through the life cycle of the software development, testing is highly needed to assure the quality of software process and product. Many years ago, the researchers come-up with a variety of software tools to automate the testing process. Software testing is a formal process carried out by a specialized testing team in which a software unit, several integrated 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 978-0-7695-3925-6/09 $26.00 © 2009 IEEE DOI 10.1109/ICCEE.2009.9 229 procedures on approved test cases [1]. Furthermore, the software testing is defined in [2] as “the dynamic verification of the behavior of a program on a finite set of test cases, suitably selected from the usually infinite executions domain, against the expected behavior”. However, the software testing process can be assisted with software tools to make it automated. In this paper, we will classify a set of testing tools and distribute them over the types of software products.

Furthermore, we will distribute a set of testing tools over the types of testing for three types of software products. However, the outcomes of this classification are dedicated to the researchers and practitioners in software testing to know which types of testing have no automated tools. The rest of this paper is organized as follows: section 2 presents an overview of the types of software testing which is used in this paper. Section 3 discusses the classification and distribution of the software testing tools over the types of software testing. Finally, section 4 concludes the paper. 2. Types of Software Testing Although there are many types of software testing, this paper will only include the following types: • Stress Testing: it is the testing which conducted to evaluate a system or component at or beyond the limits of its specified requirements to deter-

Authorized licensed use limited to: Naval Surface Warfare Center (Dahlgren). Downloaded on March 10,2010 at 14:42:46 EST from IEEE Xplore. Restrictions apply.

Functional Testing: it is the testing which is conducted on a complete and integrated system to evaluate its compliance with its specified requirements [4]. Unit Testing: it is the verification and validation technique where the programmer gains confidence that individual units of source code are fit for use [4]. Performance Testing: it is the testing which refers to the assessment of the performance of a human examinee. [4]. Acceptance Testing: it is the testing which involves running a suite of tests on the completed system [4]. Security Testing: it is the testing which determines that an Information System protects data and maintains functionality as intended [4]. Open Source Testing: it is a functional and/or unit testing framework for open source software products [4].

In this paper, we will classify the software products based on their intended usage, that is: 1. 2. 3. 4. 5. 6. 7. 8. Application Software. Database. Network Protocol (TCP). Open Source Software. System Software. Embedded Software. Web Application. Java Software.

We have collected 135 software testing tools from the internet [5, 6, 7, 8, 9, 10]. However, after studying and analyzing these software testing tools, we have classified them into different types based on which software product could be applied. Figure 1shows this classification. From figure 1 we can note that the web application software products have the largest number of software testing tools (63 software testing tools), this large number of testing tools may be due to the wide usage of web applications on the web sites, and are common to be developed to provide a variety of services to the intended users of such web sites.

Whereas, the system software and embedded software products have the smallest number of software testing tools (2 software testing tools for each of them). Furthermore, the following is the order of software products types based on how many software testing tools are intended to be used by such software product types: 1. 2. 3. 4. 5. 6. 7. 8. Web Application (63 tools). Network Protocol (TCP) (27 tools). Application Software (18 tools). Java Software (16 tools). Open Source Software (10 tools). Database (7 tools). System Software (2 tools). Embedded Software (2 tools).

3. The Classification of the Software Testing Tools Software products can be classified to different types based on different criteria (intended usage, complexity, development technology, etc.).

230

Authorized licensed use limited to: Naval Surface Warfare Center (Dahlgren). Downloaded on March 10,2010 at 14:42:46 EST from IEEE Xplore. Restrictions apply.

Fig. 1: Distribution of the used testing tools over the software types.

Hereinafter, we will focus on three types of software products, that is, web application, application software, and network protocols (TCP). Also, we selected the common used types of software testing, that is, stress, load, regression, functional, unit, performance, acceptance, security, and open source testing methods. However, after we classified the 63 software testing tools which are built to be used with the web applications, we found that most testing tools are designed to be used for the functional testing. Figure 2 presents the distribution of the testing tools over the types of testing for the web applications. In addition, the smallest number of testing tools is for the unit, acceptance, and open source testing methods. We should note that there are many testing tools which can be used for different types of testing.

Fig. 2: Distribution of the testing tools for web application over the types of testing.

231

Authorized licensed use limited to: Naval Surface Warfare Center (Dahlgren). Downloaded on March 10,2010 at 14:42:46 EST from IEEE Xplore. Restrictions apply.

For the second type of software product (application software), we found that there are 18 software testing tools. After we studied and analyzed these testing tools, we found that the large number of testing tools is intended to be used for the functional testing.

While, the smallest number of testing tools are built for the system and security testing methods. Figure 4 presents the distribution of the testing tools for application software over the nine types of testing.

Fig. 3: Distribution of the testing tools for application software over the types of testing.

For the networks (TCP protocol), there are 27 testing tools. However these testing tools are mostly used for the performance, security, load, and stress testing methods, see figure 4.

Furthermore, there is no testing tool for the system, acceptance, unit, functional, and regression testing methods. This is due to that network protocols are special purpose software products.

Fig. 4: Distribution of the testing tools for networks (TCP) over the types of testing. 232

Authorized licensed use limited to: Naval Surface Warfare Center (Dahlgren). Downloaded on March 10,2010 at 14:42:46 EST from IEEE Xplore. Restrictions apply.

4. Conclusion In the software development life cycle, testing is highly needed to assure the quality of the software process and product. For many years, researchers and practitioners come-up with a variety of software tools to automate the testing process. In this paper, we have classified and distributed 135 testing tools over eight types of software products. Furthermore, we have distributed the testing tools over the types of testing for three types of software products (web application, application software, network protocol) However, the outcomes of this classification are dedicated to the researchers and practitioners in software testing to know which testing methods have no automation tools. In addition, this classification gives a direction on which types of tests have limited automated tools.

Based on our study and analysis of the testing tool, we have concludes the following comments and suggestions: 1. The testing tools for the embedded and system applications are very limited. 2. For the web application software products, the testing tools for the unit, acceptance, and open source testing methods are restricted. 3. For the application software products, the testing tools for the security and system testing methods are restricted. 4. The testing tools for functional testing in both the web applications and application software product are very common. 5. For the network software products (TCP protocol), there is no any testing tool for the system, acceptance, unit, functional, and regression testing methods. However, the above comments could be taken into account by the researchers and practitioners to build set of tools to overcome limitations and restrictions of the current software testing tools.

5. References

[1] D. Galin, Software Quality Assurance: From Theory to Implementation, Addison Wesley, New York, NY, USA, 2003. [2] ISO, ISO/IEC TR 19759: Guide to the Software Engineering Body of Knowledge (SWEBOK), International Organization for Standardization, Geneva, Switzerland, 2005. [3] S. Chat, Performance Management of Software Architecture, online: http://www.findwhitepapers.com/whit epaper2373/, visited on July 4, 2009. [4] G. J. Myers, T. Badgett, T. M. Thomas, and C Sandler, the Art of Software Testing, Wiley, USA, 2004. [5] ApTest, Web QA Test Tool Links, online: http://www.aptest.com/webres ources.html, visited on April 15, 2009. [6] INSECURE, Top 100 Network Security Tools online: http://sectools.org/, visited on April 20, 2009. [7] Java-Source, Open Source Testing Tools in Java, online: http://javasource.net/open-source/testing-tools, visited on April 20, 2009. [8] Ranorex, Web Testing, online: http://www.ranorex.com/support/user -guide-20/web-testing.html, visited on April 22, 2009. [9] Bright-Hub, Sniffing Data with Ettercap for Linux and Windows, online: http://www.brighthub.com/computing /smb-security/articles/35545.aspx, visited on April 22, 2009. [10] QFS,
Facts & Features, online: http://www.qfs.de/en/qftest/, visited on April 23, 2009.

Authorized licensed use limited to: Naval Surface Warfare Center (Dahlgren). Downloaded on March 10,2010 at 14:42:46 EST from IEEE Xplore. Restrictions apply.

We can write a custom essay

According to Your Specific Requirements

Order an essay

You May Also Find These Documents Helpful

A various lifecycle models

1.1 SDLC diagram SDLC, Software Development Life Cycle is a methodology utilized by programming industry to setup, make and test high bore software's. The SDLC intends to make an awesome programming that meets or outperforms customer wants, accomplishes satisfaction inside conditions and cost checks. • ISO/IEC 12207 is a global standard for programming life-cycle forms. It expects to be the standard that characterizes every one...

Computer Software and information System

To know about the connection of these topics it is must to know about the link between these phrases as well as the basic concept of these two. Firstly, to know what is computer software and wireless Information systems and then secondly to discuss about their affects upon each other. Computer software is basically some programs or events that are written just to achieve certain...

Computer Software and information System

Computer software is no longer a major barrier to wide use of wireless information systems Introduction To know about the connection of these topics it is must to know about the link between these phrases as well as the basic concept of these two. Firstly, to know what is computer software and wireless Information systems and then secondly to discuss about their affects upon each...

Software development costs

1-Why are software development costs treated differently than other types of R&D? Corporations all around the world spend money on the research and technological development. It is largely done to improve existing products or services or to develop a new product that would bring a boost in income in the future. However, this is a huge difference in the treatment of software development costs and...

Avionics and Flight Software

Avionics is the useful viewpoint or craft of flight, being the outline, advancement, creation, operation and utilization of airplane, particularly heavier than air flying machine. The word flying was authored by French essayist and previous maritime officer Gabriel La Lanelle in 1863. The historical backdrop of aeronautics has reached out finished more than two thousand years, from the most punctual types of flying, kites and...

Sorry, but copying text is forbidden on this website. If you need this or any other sample, we can send it to you via email.

We can't stand spam as much as you do No, thanks. I prefer suffering on my own.
logo

Emma Taylor

online

Hi there!
Would you like to get such a paper?
How about getting a customized one?