Premium Essay

Software Testing

In:

Submitted By ChrisOchy
Words 13150
Pages 53
Testing is a process used to help identify the correctness, completeness and quality of developed computer software. With that in mind, testing can never completely establish the correctness of computer software.
[pic]There are many approaches to software testing, but effective testing of complex products is essentially a process of investigation, not merely a matter of creating and following rote procedure. One definition of testing is "the process of questioning a product in order to evaluate it", where the "questions" are things the tester tries to do with the product, and the product answers with its behavior in reaction to the probing of the tester. Although most of the intellectual processes of testing are nearly identical to that of review or inspection, the word testing is connoted to mean the dynamic analysis of the product—putting the product through its paces.
The quality of the application can and normally does vary widely from system to system but some of the common quality attributes include reliability, stability, portability, maintainability and usability. Refer to the ISO standard ISO 9126 for a more complete list of attributes and criteria.
Testing helps is Verifying and Validating if the Software is working as it is intended to be working. Thins involves using Static and Dynamic methodologies to Test the application.
Because of the fallibility of its human designers and its own abstract, complex nature, software development must be accompanied by quality assurance activities. It is not unusual for developers to spend 40% of the total project time on testing. For life-critical software (e.g. flight control, reactor monitoring), testing can cost 3 to 5 times as much as all other activities combined. The destructive nature of testing requires that the developer discard preconceived notions of the correctness of his/her developed software.

Similar Documents

Premium Essay

Software Testing

...Publication House http://www.irphouse.com A Review of Software Testing Techniques Manpreet Kaur1 and Rupinder Singh2 1 Department of CSE CGC, Gharuan Mohali, India 2 CSE CGC, Gharuan Mohali, India Abstract Software testing is important to reduce errors, maintenance and overall software costs. One of the major problems in software testing area is how to get a suitable set of test cases to test a software system. We identify a number of concepts that every software engineering student and faculty should have learned. There are now many testing techniques available for generating test cases. This set should ensure maximum effectiveness with the least possible number of test cases. The main goal of this paper is to analysed and compare the testing technique to find out the best one to find out the error from the software. Keywords: Software testing; process model; testing techniques; 1. Introduction Software testing is a process or a series of processes designed to verify computer code does what it was designed to do. According to ANSI/IEEE 1059 standard [1, 2], Testing can be defined as ―A 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. Another more appropriate definition is this: [3] Testing is the process of executing a program with the intent of finding errors. The concept of testing is as old as coding and is change along with time. Gelperin...

Words: 4928 - Pages: 20

Premium Essay

Software Testings

...Software Testing Types: Black box testing – Internal system design is not considered in this type of testing. Tests are based on requirements and functionality. White box testing – This testing is based on knowledge of the internal logic of an application’s code. Also known as Glass box Testing. Internal software and code working should be known for this type of testing. Tests are based on coverage of code statements, branches, paths, conditions. Unit testing – Testing of individual software components or modules. Typically done by the programmer and not by testers, as it requires detailed knowledge of the internal program design and code. may require developing test driver modules or test harnesses. Incremental integration testing – Bottom up approach for testing i.e continuous testing of an application as new functionality is added; Application functionality and modules should be independent enough to test separately. done by programmers or by testers. Integration testing – Testing of integrated modules to verify combined functionality after integration. Modules are typically code modules, individual applications, client and server applications on a network, etc. This type of testing is especially relevant to client/server and distributed systems. Functional testing – This type of testing ignores the internal parts and focus on the output is as per requirement or not. Black-box type testing geared to functional requirements of an application. System testing – Entire system is...

Words: 6035 - Pages: 25

Premium Essay

Software Testing Overview

...Software Testing What is testing? Testing is the process of evaluating a system or its component(s) with the intent to find that whether it satisfies the specified requirements or not. This activity results in the actual, expected and difference between their results. In simple words testing is executing a system in order to identify any gaps, errors or missing requirements in contrary to the actual desire or requirements. Who does testing? It depends on the process and the associated stakeholders of the project(s). In the IT industry, large companies have a team with responsibilities to evaluate the developed software in the context of the given requirements. Moreover, developers also conduct testing which is called Unit Testing. In most cases, following professionals are involved in testing of a system within their respective capacities: Software Tester Software Developer Project Lead/Manager End User When to Start Testing? An early start to testing reduces the cost, time to rework and error free software that is delivered to the client. However in Software Development Life Cycle (SDLC) testing can be started from the Requirements Gathering phase and lasts till the deployment of the software. However it also depends on the development model that is being used. For example in Water fall model formal testing is conducted in the Testing phase, but in incremental model, testing is performed at the end of every increment/iteration and at the end the whole application is tested. Testing...

Words: 6175 - Pages: 25

Premium Essay

Agile Software Testing

...An Introduction to Agile Software Testing 1 Course Objectives After this seminar, you will:  Understand what an Agile project  Know the differences between Kanban and Scrum  Understand what and how a tester performs the testing in Scrum process  Understand what testing techniques required for a tester in Agile  Know what challenges of Agile Software Testing 2 Course Content  What is an Agile Project?  What are Scrum and Kanban?  What are Scrum & Kanban Processes?  What are testing Activities in Scrum?  What are Agile Testing Techniques? 3 What is an Agile Project? All projects are “agile”, but some agile projects are more agile than others How to “agile” a project An Agile purist would point to agile manifesto and its principles Individuals and interactions over process and tools  Working SW over comprehensive documents In practice, “Agile” labeled to projects that its delivery of each increment taking no longer 4 weeks Is it met level of agility?  Customer collaboration over contract negotiation  Responding to change over following a plan 4 Agile Project An introduction of Scrum and Kanban 5 What is Scrum? Scrum in 100 words • Scrum is an agile process that allows us to focus on • • • delivering the highest business value in the shortest time. It allows us to rapidly and repeatedly inspect actual working software (every two weeks to one month). The business sets the...

Words: 3303 - Pages: 14

Premium Essay

Software Testing Resume

... |Over 5 years of experience in Information Technology with extensive experience in performing Manual and Automated testing | | | | | |Extensive experience in testing Web and GUI based Client-Server applications by performing validation, manual as well automated testing in various | | |industry domains | | | | | |Experienced in implementing QA methodologies, Test Case Design, Test Tool Usage, Test Execution, Defect Management and Defect Tracking | | | | | |Strong experience in System, GUI, Positive, Negative, Volume, Smoke, Regression, Black Box, Unit, UAT, Functional, Integration and Stress testing | | |...

Words: 1421 - Pages: 6

Premium Essay

The Role of Testing in a Software Project

...Testing is performing all of the following: • Providing software with inputs (a “workload”) • Executing a piece of software • Monitoring software state and/or outputs for expected properties, such as: – Conformance to requirements – Preservation of invariants (e.g., never applies brakes and throttle together) – Match to expected output values – Lack of “surprises” such as system crashes or unspecified behaviours General idea is attempting to find “bugs” by executing a program. Testing terminology Workload: • “Inputs applied to software under test” • Each test is performed with a specific workload Behaviour: • “Observed outputs of software under test” • Sometimes special outputs are added to improve observability of software (e.g., “test points” added to see internal states) Oracle: • “A model that perfectly predicts correct behaviour” • Matching behaviour with oracle output tells if test passed or failed • Oracles come in many forms: – Human observer – Different version of same program – Hand-created script of predicted values based on workload – List of invariants that should hold true over behaviour What is a bug? A “bug” can be one or more of the following: • Failure to provide required behaviour • Providing an incorrect behaviour • Providing an undocumented behaviour or behaviour that is not required • Failure to conform to a design constraint (e.g., timing, safety invariant) • Omission or defect in requirements/specification • Instance...

Words: 979 - Pages: 4

Premium Essay

A Unified Theory of Software Testing

...A Unified Theory of Software Testing This paper presents a theory, or model, for analyzing and understanding software test techniques. It starts by developing a theory for describing analytical test techniques, such as equivalence classes, pair-wise coverage and state modeling. It then develops the theory to cover other, more heuristic test techniques. This theory states that all testing techniques are composed of a modeling schemata, one or more coverage objectives, a dispersal strategy and a theory of error. All testing techniques address a fundamental problem of testing: vastly more tests are conceivable than you could possibly run. Each technique therefore consists of a method for modeling the software in a way that allows a coverage measure to be specified and achieved and a dispersal strategy that allows this to done efficiently. Testing theory has traditionally focused on the issue of coverage and the different ways to think of it (Kaner, 101 methods for code coverage). The obverse concept is dispersal, or a method for identifying and reducing tests that are "redundant". Take, for example, the pair-wise coverage technique. This technique is often applicable when the interaction of several independent inputs or configuration parameters create more combinations than is practical to test. Suppose you have an application that supports each of the following components: DATABASE Oracle DB2 SQLServer WEB SERVER IIS Apache Netscape APP SERVER WebSphere ...

Words: 983 - Pages: 4

Free Essay

Software Testing Tools Survey

...Easynet in 2006, the idea was formed with testers and developers Nat Pryce and Steve Freeman. Concordion was then later ported and improved upon by several developers, specifically Nigel Charman, the designer of the Concordion Extensions API. The Concordion tool is available for free at concordion.org/Download.html. 2. What testing purpose does the tool serve? (i.e., what problem does it attempt to solve? How does it improve productivity?) Concordion is an open source tool that is used for the automation of Specification by Example. Using simple HTML, developers can create concrete examples in any specifications with certain commands. This allows for Concordion to check the examples against a real-life system. The specifications allow for complete cover of any behavior important to a customer. Based on this, specifications can be used as unit tests. Concordion specifications are also clear and readable so they can also serve as system documentation. This means a project’s specifications can be easy to understand for the development team, as well as anyone outside it. This would ultimately allow for a better maintenance of software quality as the software can be reviewed as a group effort. 5. What do you need to do in order to use the tool? There is ample documentation provided on the Concordion website to guide you through the install and configuration process. Concordion requires JDK5.0 and the following JARs in the classpath: • concordion-1.4.7.jar • junit-4.12.jar...

Words: 1393 - Pages: 6

Premium Essay

Software Testing Myths

...Software Testing Myths Any IT professional is sure to know the different phases of the Software Development Life Cycle or SDLC, namely Requirement Analysis, Design, Construction or Coding, Testing, Implementation, Maintenance & Support - the activities carried out in each phase & their significance. But, very few agree on the importance of Software Testing phase. “Software implementation is a cozy bonfire, warm, bright, a bustle of comforting concrete activity. But beyond the flames is an immense zone of darkness. Testing is the exploration of this darkness.” - extracted from the 1992 Software Maintenance Technology Reference Guide Testing is often considered as a thankless job. While developers say with pride: "Wow!! My code is running in production", testers usually don’t say "Wow!! The code that I tested is running in production"!!! This attitude can also be justified if we consider some examples of the usual talk that goes on among colleagues/peers/friends in the IT circle, like: Mr. A: Which project are you working on? Mr. B (Tester): Currently, I’m in a Testing project. Mr. A: Oh...Umm...OK... Mr. A: Mr. C, how about you? Mr. C (Programmer/Developer): A Development & Maintenance project Mr. A: Oohh?? What technology? Which platform? What’s the project all about?? … And so on Even though there's no denying the fact that Construction/Coding is a very significant phase in the life cycle of any software product, the role of Testing as an activity should be...

Words: 1551 - Pages: 7

Premium Essay

Software Quality Assurance and Testing Methodologies

...Title: CSC 415 / Software Engineering Date of Submission: September 20, 2013 Software Quality Assurance and Testing Techniques Subject: This memo delves into unit testing, integration testing, and other aspects of software quality assurance. Software quality assurance is essential for any business that provides products that are to be used by others. This memo serves as a documentation of software testing methodologies that support a recommendation for GF Software Solutions approach to SQA. Addressed are various components of the software development lifecycle and the different techniques that exist for their implementation. Unit tests focus on the verification of the smallest unit of software design, or the software module. Integration testing can be performed using a number of different methods including top-down, bottom-up, and big bang integration. Integration tests address problems or bugs that may occur when interfacing individual software components and building the complete system architecture. System tests are applied when the software is incorporated with other systems elements such as hardware, people, or information. Stress testing is a method of determining the stability of an application when tested beyond the bounds of normal operation. Each of the aforementioned steps is crucial to the software quality assurance procedure and is defined more thoroughly in the following sections. A critical component of software quality assurance...

Words: 1958 - Pages: 8

Premium Essay

The Role of Software Testing in the Development of Quality Software

...The Role of Software Testing in the Development of Quality Software MehwishZulfiqar 13414, MS (CS) Iqra University, Islamabad. Abstract: In software testing organizations, effective knowledge management of the testing process is the key to improve the quality of software testing. Quality must be built into our products and it can never be tested in after the fact. Although QA has an important role in assuring the quality of our products, their work is entirely indirect. Their role is to influence others in the organization. Testing programs are conducted to ensure that the software application meets the specifications and service level expectations of their product. Testing improves product quality. However, there is rarely enough quality control time built into development projects, and there is an endless possibility of testing that could be executed. In this article major issues are discuss that improve the quality of software and also discuss the role of software testing in the delivery of quality software product.Simply we say that process of testing is basic, but knowing what to test for is challenging for a developer. Software testing requires well-analyzed test cases and proper execution in order to find issues in the software. It also requires efficient management of the procedures. 1. Introduction: Software systems are an increasing part of life, from business applications to consumer products. Most people have had an experience with software that did not...

Words: 2071 - Pages: 9

Premium Essay

Two Phases Of Software Testing

...Testing is the process of evaluation a system or its components to find whether it satisfies the predicted requirements and outputs or not. The other definition of testing is to execute a system and also to find or identify any gaps, errors, or missing requirements in contrary to the actual requirements. Performing the software testing will correctly responds to any kind of inputs we give and it also performs its functions with a given time span. Early stage of testing the software will reduces the time, cost, rework and if we delay the testing it would be somewhat difficult to identify the errors in the software so testing should be done at the beginning stage and no one can say that the software is 100% tested. In this project we are going...

Words: 874 - Pages: 4

Premium Essay

Agile Testing

...cycle by emphasizing the detection and correction of defects. There are two types of software testing that people usually refer to. The first one is through Waterfall Model and the second one is Agile Testing. Both of these models have their own advantages and disadvantages. By weighting the advantages and disadvantages between these two concepts, we will then be able to decide on which one that we can use as a referral to do software testing. Before we begin to decide on which concepts that we can refer to, let’s take a look at each of the concepts. Waterfall Model Waterfall model is known as a sequential model. Once the stage has completed then developers can move on to the next step. This model requires an extensive plan so that we can minimize the error of going back to the previous stage. To be able to complete the project using the Waterfall method, both sides should be able the requirements and able to present what is should look like after completing the project in the beginning. Waterfall model consist of eight stages. They are: System requirement, Software requirement, Analysis, Design, Coding, Test and Use. Figure 1.0 – Waterfall Model The real purpose of software testing is to verify whether the completed software package functions according to the expectations defined by the requirements/specifications. The objective is not to find every software bug that exists, but to uncover situations that could negatively impact the customer, usability...

Words: 3602 - Pages: 15

Premium Essay

Doc2. How Much of Apple's Success Can Be Linked Directly Back to Its Culture? Why?

...Paper Presentation on Cloud Functional Automation Testing Pavan Kumar Vangala Kalyan Pallapolu Software Engineer Senior Software Engineer Bibliography Pavan Vangala is working as a Software Engineer is having 5+Years of experience in Manual and Automation testing. Good Communicator and trained the members on automation tool (QTP). ISTQB Certified Professional. Kalyan Pallapolu is working as a Senior Software Engineer is having 6+Years of experience in Manaul and Automation testing. Expertise in Functional Automation using QTP. Handled different teams and having good management Skills Contents Abstract Keywords 1 2 3 4 5 6 7 8 9 10 4 4 4 4 4 5 5 6 7 8 8 8 Introduction- Cloud Computing About Cloud Testing Resource Sharing Functional Testing Functional Automation Apply Cloud Testing to Functional Automation Benefits Concerns Conclusion References Cloud Functional Automation Testing Abstract The Purpose of this Paper is to discuss the implementation of Cloud technology for Functional Automation Testing to overcome the challenges for environment setup, resource Utilization and to reduce cost in terms of Utilities, Infrastructure and other factors involved in day to day software development. Also the advantages and disadvantages of cloud Testing in real world and how the Organizations are benefited by adopting the Cloud Computing Technology. Keywords Cloud Computing, Cloud testing, Functional Automation 1. Introduction -Cloud Computing: Cloud Computing comes...

Words: 1605 - Pages: 7

Premium Essay

Manager

...RAJEEV KUMAR Professional Summary: • Highly talented and accomplished Information Technology professional with extensive background in QA engineering, Project Management and Scrum Master. • Improve software quality, meet customer expectations and reduce defects by supporting proven software quality practices and implementing practical and effective process improvement methods. • Plan and perform effective software testing through a combination of familiar structured test techniques, rapid test practices and test automation where applicable. Experience Summary: ✓ Sound Experience in Full Software Testing Life Cycle (Involvement in Test Strategy, Test cases, Test Scripts/Data, Defect tracking/prevention) and its most of phases e.g. Unit Testing, Functional Testing, Regression Testing, Integration Testing, System Testing and User Acceptance Testing, Ajax Testing. ✓ Adherence to software development life cycle, quality methodologies (ISO 9001/CMM) and best practices of software testing models (Agile Methodology). ✓ Expert in both Manual testing and Automated testing Using tools Selenium - Java. ✓ Experience in Functional & GUI testing in CRM and ERP domain. ✓ Experience in Database Testing (MySql). ✓ Successfully Participated in 32 hrs training on automation tools such as Mercury Interactive Quick Test Pro 9.2, Test Director (QC). ✓ Solid communicator with exceptional team-building skills. ✓ Strong problem-solver...

Words: 1430 - Pages: 6