Software Testing, Mythology & Methodologies



Similar documents
Software Testing Tutorial

SOFTWARE TESTING - QUICK GUIDE SOFTWARE TESTING - OVERVIEW

Testing is the process of evaluating a system or its component(s) with the intent to find whether it satisfies the specified requirements or not.

Quality Assurance - Karthik

Software Testing. Knowledge Base. Rajat Kumar Bal. Introduction

Levels of Software Testing. Functional Testing

Basic Testing Concepts and Terminology

MOBILE APPLICATION TESTING ENGINEER

A Brief Overview of Software Testing Techniques and Metrics

Chapter 3. Technology review Introduction

Copyrighted , Address :- EH1-Infotech, SCF 69, Top Floor, Phase 3B-2, Sector 60, Mohali (Chandigarh),

Benefits of Test Automation for Agile Testing

SOFTWARE TESTING TRAINING COURSES CONTENTS

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

Test Cases Design for Software Database Provisioning Development

Testing Lifecycle: Don t be a fool, use a proper tool.

Don t forget the testers

Transitioning Your Software Process To Agile Jeffery Payne Chief Executive Officer Coveros, Inc.

Latest Trends in Testing. Ajay K Chhokra

In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology?

The Dangers of Use Cases Employed as Test Cases

a new generation software test automation framework - CIVIM

Improved Software Testing Using McCabe IQ Coverage Analysis

Minimizing code defects to improve software quality and lower development costs.

Good Agile Testing Practices and Traits How does Agile Testing work?

Introduction to Systems Analysis and Design

(Refer Slide Time: 01:52)

TesT AuTomATion Best Practices

Sample Exam Syllabus

Basic Unified Process: A Process for Small and Agile Projects

Solutions for Quality Management in a Agile and Mobile World

Quality Meets the CEO

INDEPENDENT TESTING & QA SERVICES

QA Classroom and Online training from Yes-M Systems

Quality Testing. Assured.

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University

Your guide to DevOps. Bring developers, IT, and the latest tools together to create a smarter, leaner, more successful coding machine

Codeless Test Automation for Web Apps

MANUAL TESTING. (Complete Package) We are ready to serve Latest Testing Trends, Are you ready to learn.?? New Batches Info

SOFTWARE REQUIREMENTS

Requirements-Based Testing - Cause-Effect Graphing. Gary E. Mogyorodi, B.Math., M.B.A. Principal Consultant. Software Testing Services

Software Testing Strategies and Techniques

Agile QA Process. Anand Bagmar Version 1.

Efficient Management of Tests and Defects in Variant-Rich Systems with pure::variants and IBM Rational ClearQuest

Fundamentals of Information Systems, Fifth Edition. Chapter 8 Systems Development

<Insert Picture Here> When to Automate Your Testing (and When Not To)

Higher Focus on Quality. Pressure on Testing Budgets. ? Short Release Cycles. Your key to Effortless Automation. OpKey TM

SOFTWARE SERVICES. Enterprise QA Solutions. Technology Powered Industry Diversified Excellence Driven

The most suitable system methodology for the proposed system is drawn out.

ASSURING SOFTWARE QUALITY USING VISUAL STUDIO 2010

Software Testing Lifecycle

GLOBAL JOURNAL OF ENGINEERING SCIENCE AND RESEARCHES

Software Quality Testing Course Material

Testing. Chapter. A Fresh Graduate s Guide to Software Development Tools and Technologies. CHAPTER AUTHORS Michael Atmadja Zhang Shuai Richard

Axe in the Agile World

Total Quality Management (TQM) Quality, Success and Failure. Total Quality Management (TQM) vs. Process Reengineering (BPR)

Table of contents. Automated testing ROI: fact or fiction? A customer s perspective: What real QA organizations have found.

A. Waterfall Model - Requirement Analysis. System & Software Design. Implementation & Unit Testing. Integration & System Testing.

Testing Introduction. IEEE Definitions

Bringing Value to the Organization with Performance Testing

The role of integrated requirements management in software delivery.

Terrace Consulting Services

International Journal of Advanced Engineering Research and Science (IJAERS) Vol-2, Issue-11, Nov- 2015] ISSN:

White Paper Tavant Open Source Testing Platform: Helping You Cut Costs


Sandesh Prasanna Kumar

TDWI strives to provide course books that are content-rich and that serve as useful reference documents after a class has ended.

IBM Rational: Sustainable automated testing for SAP Ecosystems with Worksoft Certify

Agile Development and Testing Practices highlighted by the case studies as being particularly valuable from a software quality perspective

Functional and LoadTest Strategies

Smarter Balanced Assessment Consortium. Recommendation

Software Implementation Technology report

Getting started with API testing

Web based Automation Testing and Tools

Testing, What is it Good For? Absolutely Everything!

Example Software Development Process.

Collaborating for Quality in Agile Application Development From Beginning to End

Chapter 5. Regression Testing of Web-Components

Datamaker for Skytap. Provide full-sized environments filled with up-to-date test data in minutes

Exploratory Testing An Agile Approach STC Aman Arora. Xebia IT Architects India Pvt. Ltd. Sec-30, Gurgaon , Haryana

Advanced Software Test Design Techniques Use Cases

Obtaining ROI from an ALM Tool

Oracle Insurance Policy Administration System Quality Assurance Testing Methodology. An Oracle White Paper August 2008

The Worksoft Suite. Automated Business Process Discovery & Validation ENSURING THE SUCCESS OF DIGITAL BUSINESS. Worksoft Differentiators

So#ware Development. Overview. Hans- Pe4er Halvorsen, M.Sc. h4p://home.hit.no/~hansha/?page=so#ware_development

Introduction to OpenUP (Open Unified Process)

ICAgile Learning Roadmap Agile Testing Track

Model-based Testing: Next Generation Functional Software Testing

Different Approaches to White Box Testing Technique for Finding Errors

Automated testing for Mobility New age applications require New age Mobility solutions

Software Development Processes. Software Life-Cycle Models. Process Models in Other Fields. CIS 422/522 Spring

Application Performance Testing Basics

Software Engineering. How does software fail? Terminology CS / COE 1530

Karunya University Dept. of Information Technology

Software Engineering Question Bank

Transcription:

Software, Mythology & Methodologies Sonali Waje 1, Vandana Gaikwad 2, Pranchal Chaudhari 3 1,3 B.E. Information Technology, 2 B.E.Computer Engineering Abstract - It is generally believed that phases of software development consume 30% to 50% of the entire software development time and resources. The cost and time of should get reduced to increase the productivity of the software development process. To achieve these goals, different levels and tools of automated used rather than manual. There are most common myths about the software. In this paper we are trying to reduce the impact of those myths on software. The paper is elaborating mythologies and different methodologies of software and the tools being used. Keywords - Automated, Manual, Methodology, Mythology, Software, tools. I. INTRODUCTION Software Development lifecycle (SDLC) is a software process model which follows sequential way of building product. Software is an integral and important phase of the software development process. This part of process ensures that defects are recognized as soon as possible. As per the ANSI/IEEE 1059 standard, 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. We introduced below most popular and common myths about software. II. Common myths are: SOFTWARE TESTING MYTHOLOGY 1: is too expensive. Reality: There is a saying, pay less for during software development or pay more for maintenance or correction later. Early saves both time & cost in many aspects however, reducing cost without may result in the improper design of a software application depicting the product useless. 2: is time consuming. Reality: During SDLC phases is never a time consuming process. However, Finding and fixing the error which is identified during proper is time consuming but productive activity. 3: cannot be started if product is not fully developed. Reality: depends on source code but reviewing requirements and developing test cases is independent from the developed code. Iterative or incremental approach as a development life cycle model may reduce the dependency of on fully developed software. 4: Complete is Possible. Reality: It becomes an issue when a client or tester thinks that complete is possible. It is possible that all the paths have been tested by the team but occurrence of complete is never possible. There might be some scenarios that will never be executed by the test team or the client during software development life cycle and may be executed once the project has been deployed. 5: If software is tested then it must be bug free. Reality: This is a very common myth which Clients, Project Managers & the management team believe in. No one say with absolute certainty that a software application is completely bug free even if a tester with superb skills has tested the application. 6: Missed defects are due to Testers. Reality: It is not a right approach to blame testers for bugs that remain in the application even after has been performed. This myth relates to the Time, Cost & Requirements changing Constraints. However, the test strategy may result in bugs being missed by the team. 7: Testers should be responsible for quality of product. Reality: It is a very common misinterpretation that only testers or the team should be responsible for product quality. Tester s responsibilities include the identification of bugs to the stakeholders and then it is their decision whether they will fix the bug or release the software without fixing it. Releasing the software at the time puts more pressure on the testers as they will be blamed for any error. 673

8: Test automation must be used wherever it is possible to use it and to reduce time. Reality: Yes, it is true that Test Automation reduces the time but it is not possible to start Test Automation at any time during Software development. Test Automation should be started when the software has been manually tested and is stable to some extent. Moreover, Test Automation cannot be used if requirements keep changing. In this situation manual is preferable. 9: Any one can test Software application. Reality: People outside the IT industry think that anyone can test the software and is not a creative job. However a tester knows very well that this is myth. Thinking about alternatives scenarios, try to crash Software with the intent to explore potential bugs is not possible for the person who developed it. 10: A tester's task is only to find bugs. Reality: Finding bugs in the Software is the task of testers but at the same time they are domain experts of particular software. Developers are only responsible for specific component or area that is assigned to them but testers must understand the overall working s of the software, what the dependencies are & what the impacts of one module on another module are. III. SOFTWARE TESTING TYPES This topic describes the different types of which may be used to test Software during SDLC. a) Manual This type includes the of the software manually i.e. without using any automated tool or script. In this type the tester takes over the role of an end user and test the Software to identify any unexpected behavior or bugs in the software. There are different stages for manual like unit, Integration, System & User Acceptance. Testers uses test plan, test cases or test scenarios to test the Software to ensure the completeness of. Manual includes exploratory as testers explore the software to identify errors in it. b) Automation Automation which is also known as Test Automation, is when the tester writes scripts & uses software to test the software. This process involves automation of manual process. Automation is used to re-run test scenarios that were performed manually, fast & repeatedly. 674 Apart from the regression, an Automation is used to test the application from load, performance & stress point of view. It increases the test coverage, improves accuracy and saves time & money as compared to manual. Automation is done by using supportive computer language like virtual basic scripting and an automated software application. Figure 1: Automation Cycle Automated Software tools HP Quick Test Professional [1] Selenium [2] IBM Rational Functional Tester [3] Silk Test [4] Test Complete Anywhere [5] Win Runner [6] Load Runner [7] Visual Studio Test Professional [8] WATIR [9] IV. SOFTWARE TESTING METHODOLOGY There are different methods which can be used for Software. This paper briefly describes only those common and popular methods. a) Black Box The technique of without having any knowledge of the core workings of the application is Black Box. The tester is unaware to the system architecture and does not have access to the source code. Typically, when performing black box test, a tester will interact with system's user interface by providing inputs and examining outputs without knowing how and where the inputs are worked upon.

Well suited & efficient for large code segments. Code Access not required. Clearly separates user's perceptions from developer's perspective through visibly defined roles. Large numbers of fairly skilled testers can test the application with no knowledge of implementation and programming language or operating systems. b) White Box Table 1 Black Box Limited coverage since only selected number of test scenarios is actually performed. Inefficient, due to the fact that a tester only has limited knowledge about an application. Blind coverage, since tester cannot target specific code segments or error prone areas. The test cases are complicated to design. White box is the detailed analysis of internal logic and structure of code. White box is also called glass or open box. In order to perform this white box on application, the tester needs to acquire knowledge of the internal working of the code. The tester needs to have a look inside source code and find out which unit/chunk of the code is behaving inappropriately. Table 2 White Box As the tester is aware of the source code, it becomes very easy to find out which type of data can help in the application effectively. It helps in the code. optimizing Extra lines of the code can be removed which can bring in hidden defects. Due to the tester's knowledge about code, maximum coverage is attained during test scenario writing. Since access to the source code is not available, the ability to go over the code & test coverage is limited. The tests should not carry out if the software designer has already run a test case. every possible input stream is out of reach because it would take an unreasonable amount of time; therefore, many program paths go untested. C) Grey Box Grey Box is a technique to test the application with limited knowledge of the internal workings of an application. In software, the phrase the more you know the better carries a lot of weight when an application. Mastering the domain of system always gives the tester an edge over someone with limited domain knowledge. Unlike black box, where tester only tests the application's user interface, in grey box, the tester has right to use design documents and the database. Having this knowledge, the tester is capable to better prepare test data and test scenarios when making the test plan. 675

Offers combined advantages of black box and white box possible. wherever Grey box testers don't rely on source code; instead they rely on interface SN Black Box 1. The internal working of an application are not required to be known 2. Also known as closed box, data driven & functional Table 3 Grey Box Since the access to the source code is not available; the ability to go over the code and test coverage is limited. The tests can be unnecessary if the software designer has already run a test case. every possible input stream is impractical because it would take an unreasonable amount of time; therefore, many program paths will go untested. Table 4 Black Box vs. Grey Box vs. White Box Grey Box Somewhat knowledge of internal workings are known Another term for grey box is luminous as the tester has limited knowledge of insides of an application White Box Tester has full knowledge of internal workings of the application Also known as clear box, structural or code based 3. Performed by end users & also by testers and 4. is based on external expectations - Internal behavior of application is unknown 5. This is the least time consuming & extensive 6. Not suited to 7. This can only be done by trial & error method Performed by end users & also by testers & is done on basis of high level database Diagrams & data flow diagrams Partly time consuming & extensive Not suited to If known, data domains & internal boundaries can be tested V. CONCLUSION Normally done by testers and Internal workings are fully known & the tester can design test data accordingly The most extensive & time consuming type of Suited to Data domains & internal boundaries can be better tested The levels and tools of automated is used in order to reduce the cost and time of so that it will increase the productivity of the software development process. There are most common myths about the software. It is very important to reduce the impact of those myths on software. The paper we are presenting is elaborating mythologies and methodologies of software and the tools being used. Future different works will be dedicated to improving this system. We are also planning to add mailing and message systems into it. We are planning to add graphic statistics tools with software tools into it. 676

REFERENCES [1 ] http://www.automationrepository.com/2012/hp-unified-functional-uft-11-5- new- features/ [2 ] Krill, Paul (April 6, 2011) Open source selenium web app test suite to support iphone and Android [3 ] Software Test Engineering with IBM Rational Functional Tester The Definitive Resource. [4 ] http://www.borland.com/-images/borland-silk-test-13- datasheet_ tcm 32-206148.pdf [5 ] Automation Anywhere Tackles Automated [6 ] FYICenter.com: Win Runner FAQ [7 ] http://www.wilsonmar.com/1loadrun.htm [8 ] Visual Studio Test Professional 2010 [9 ] Watir home page - Watir website 677