Overview Of Software Testing

Print   

02 Nov 2017

Disclaimer:
This essay has been written and submitted by students and is not an example of our work. Please click this link to view samples of our professional work witten by our professional essay writers. Any opinions, findings, conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of EssayCompany.

Methodology

Based on Pressman, Roger (2005) methodology term refers to "a framework used to structure, plan and control the process of developing." There are several Software Development Methodologies and they have always been the major focus during the software development life cycle of any project. These methodologies have significant benefits for projects and they help to prevent high probability of project failure. Some of Software Development Methodologies included:

Scrum is an incremental framework often seen in agile software development for project management. It has focused on the management of software development projects whiles it is originally for managing product development projects. It also is about delivering object-oriented software. Scrum plans the context and broad deliverable definition at first and after that evolve the deliverable definition during the project based on the environment. Scrum assumes that the analysis, design, and development processes in the Sprint phase are unpredictable and for controlling the risk and managing the unpredictability, a control mechanism is used.

Retrieved from www.onetree.com web site.

scrum_scheme_big.gif

Spiral

Spiral Methodology is like peels of an onion and it's progress through the layers. Each phase explicitly define processes. In tis methodology phases and processes is defined still liner.

Interative

Iterative methodology is the improvement of Spiral methodology. Each iteration consists of Analysis , Design , Development and Implementation by addressing only one set of parsed functionality. ( Schwaber, 1987).

Test-driven development (TDD)

It also called test-driven design and it consists of short development iterations where a test has been written before production code to fulfill that test and refactoring. It can lead to clean code, good design, more flexibility and modularized.

Refactoring and make changestddSteps.jpg

RUP

Based on IBM web site, RUP (Rational Unified Process) is "a comprehensive process framework that provides industry-tested practices for software and systems delivery and implementation and for effective project management."(IBM,2013). RUP consists of disciplines (method contents) and phases (process).

rup.jpg

RUP is built for Service-Oriented Modeling and Architecture. The best principles of using RUP are such as well and complete document, public and open, well define architecture and high ability for reuse.

In the following a comparison of above methodologies is present.

Model

Specfication

Scrum

Spiral

Interative

Test Driven Development (TDD)

Rational Unified Process (RUP)

Defined processes

Planning and closure only

Required

Required

Final product

Set during project

Determined during planning

Set during project

Project cost

Set during planning

Partially variable

Set during project

Completion date

Set during project

Partially variable

Set during project

Responsiveness to environment

Throughout

Planning primarily

At end of each iteration

Team flexibility, creativity

Unlimited during iterations

Limited- cookbook approach

Limited- cookbook approach

Re-Usability

Knowledge transfer

Teamwork during project

Training prior to project

Training prior to project

Probability of success

High

Medium Low

Medium

Based on result of above comparison and our project specification we decided to use the RUP methodology as our base methodology during the project.

Testing Models (Levels)

The test levels are different usage in the testing process and each one provides different aspects of the system. In the following a description of V model with their level is provided.

V Model

A common model for showing testing levels is V model that contents of four (4) levels. The highest level for this model is Acceptance Testing and low level is for Unit Testing. The following figure shows this model and relation of levels with each phase of the software process.

e0049185_4cc8d638e963c.jpg

Unit Testing is done by developers to make sure correctness of modules in coding.

Integration Testing is done to check that modules communicate with each other properly.

System Testing is done before lunch application to the market for checking it as a complete and fully integrated product.

Acceptance Testing is done by client to certify requirements which were agreed upon.

Functional Testing

There are some software testing method such as White box testing, Black box testing and Gray box testing. White box testing is also called as Structural testing or Code-base testing wherein tester looks at the internal structure of the cod and by completely knowing of it runs test cases. Black box testing is a high level of testing that tester checks whether the software meets expected requirements and user expectations. In this type of testing, tester does not know how the software processing code. Another type of testing is Gray box testing which it combines Black box testing and White box testing effectively. In Gray box testing tester design test cases by limited knowledge of internal structure of code but more than Black box testing.

A type of black box testing is functional testing. It tests functions by feeding its inputs and examining its outputs. Function testing differs from Functional testing. Function testing is in system testing level that "validate[s] a program by checking it against the published user or system requirements" while Functional testing "verifies a program by checking it against ... design document(s) or specification (s)"( Kaner, Falk, Nguyen 1999, p. 52)

For take knowledge of verification and validation, see the IEEE Standard for Software Verification and Validation Plans (ANSI/IEEE Standard 1012-1986).

Tools

There are lots of software testing tools and selection of tools depends to the projects properties and requirements. Each tool has some features that provide capabilities for testing. Testing tools are divided into two main categories such as Commercial and Open Source tools. Although Open Source tools have limited features but you can choose the best base on what it fulfills in free version.

We classify some tools with consideration to our project’s goal and then a brief description of each tool will provide. We omitted Commercial tools because our aim is testing by Open Source tools and on the other hand, we did not support to supply that type of tools. Therefore in the following we just mention name some of that tools as showing category and illustrate classification.

Open Source Tools

Test Management tools

TestLink

testlink_logo_2.jpg

TestLink is a web based Test Management tool for test tracking and management. It includes testing features such as Test specification, Test plans and execution, Reporting, Requirements specification. TestLink has collaborated with well-known bug trackers for instance Mantis.

Available from: http://www.teamst.org/

Trello

Untitled.png

Trello web site states that "Trello is a collaboration tool that organizes your projects into boards. In one glance, Trello tells you what's being worked on, who's working on what, and where something is in a process. Made in New York City by Fog Creek Software."(Trello, 2013)

Available from: https://trello.com/

More info at: http://blog.trello.com/

Test Manager

Test Manager written in the Java programming language and it is an automated software testing application. It equips by component-based techniques to facilitate, manage, and automate the testing activities.

Available from: http://www.durablesoftwareltd.com/

TET (Test Environment Toolkit)

The Test Environment Toolkit (TET) is an unsupported, Open Source and command line product. The main goal of TET is to produce a test driver that adapted the then current and expected future testing needs of the testing.

Available from: http://tetworks.opengroup.org/tet/

Functional testing tools

Selenium

big-logo.png

Selenium is an automates browser that primarily is for automating web applications. It used in the core of many automation testing tools and It provides some good and professional features that do not need to learn a special skill. For instance record/playback tool do not require to learn a script programming language. It also has different platforms such as Windows, Linux and Macintosh. Both new and experienced testers can easily use it.

Available from: https://code.google.com/p/selenium/downloads/list

More info at:http://docs.seleniumhq.org/docs/01_introducing_selenium.jsp

Mantis

Mantisloggo.jpg

Mantis is an Open Source defect management tool that is written in the PHP scripting language and it is a web based bug tracking system. It works with some databases such as MySQL, PostgreSQL and so forth and a web server. There are many related tools with Mantis such as MantisBT Android Application - The MantisBT Android Application is a client for MantisBT, Scmbug - Integrates Mantis with multiple Configuration Management tools, TestLink, Testuff, Test Log and so many tools.

Available from: http://www.mantisbt.org/download.php

More info at: http://www.mantisbt.org/wiki/doku.php/mantisbt:related_tools

WET

wetlogo_small.jpg

WET is an Open Source web automation testing tool which is written using Ruby. Any level of test engineer can use it for automate testing and it supports varius tools to simulate browser view to perform testing.

Available from: http://www.wet.qantom.org/home.html

More info at: http://www.wet.qantom.org/docs_overview.html

Solex

Solex website describes this tool as " a free open source Web application testing tool built as a plug-in for the Eclipse IDE. It provides functions to record a client session, adjust it according to various parameters and replay it later typically in order to ensure non regression of the application's behavior". It has some special features which are excellent for web application testing. For example functions to record a client session. It needs to have Eclipse (http://www.eclipse.org) installed on your system.

Available from: http://solex.sourceforge.net/

More info at:

Commercial Tools

Test Management tools

HP Quality Center/ALM;

http://www8.hp.com/us/en/software/enterprise-software.html

DevTest

http://techexcel.com/products/devtest/

Spira Test

http://www.inflectra.com/SpiraTest/Default.aspx#0

Testuff

http://wvw.testuff.com/

SMARTS

http://www.testworks.com/

Functional testing tools

vTest

http://www.verisium.com/products/vTest/index.html

Badboy

http://www.badboy.com.au/

Rational Robot

http://www-01.ibm.com/software/awdtools/tester/robot/

actiWATE

http://www.actiwate.com/

Squish

http://www.froglogic.com/

PesterCat

http://www.pestercat.com/

Roles

Testing Approaches/ Strategies

Automated Testing

Documentation Standards

Web base Applications



rev

Our Service Portfolio

jb

Want To Place An Order Quickly?

Then shoot us a message on Whatsapp, WeChat or Gmail. We are available 24/7 to assist you.

whatsapp

Do not panic, you are at the right place

jb

Visit Our essay writting help page to get all the details and guidence on availing our assiatance service.

Get 20% Discount, Now
£19 £14/ Per Page
14 days delivery time

Our writting assistance service is undoubtedly one of the most affordable writting assistance services and we have highly qualified professionls to help you with your work. So what are you waiting for, click below to order now.

Get An Instant Quote

ORDER TODAY!

Our experts are ready to assist you, call us to get a free quote or order now to get succeed in your academics writing.

Get a Free Quote Order Now