Software Testing BASICS OF SOFTWARE TESTING ... Software Testing Anuradha Bhatia When develop software

  • View
    1

  • Download
    0

Embed Size (px)

Text of Software Testing BASICS OF SOFTWARE TESTING ... Software Testing Anuradha Bhatia When develop...

  • Software Testing

    Anuradha Bhatia

    BASICS OF SOFTWARE TESTING CONTENTS

    I. Software Quality, Definition of testing, Role of testing.

    II. Failure, Error, fault, Defect, Bug Terminology

    III. Objectives of Testing

    IV. What is a Test Case?

    V. When to start and Stop Testing of software.

    VI. Skills for Software Tester.

    VII. Quality Assurance, Quality Control, Verification and Validation, V Model

  • Software Testing

    Anuradha Bhatia

    I. Software Quality, Definition of testing, Role of testing 1. Software Quality

    Software quality is the degree of conformance to explicit or implicit requirements

    and expectations.

    i. Explicit: clearly defined and documented

    ii. Implicit: not clearly defined and documented but indirectly suggested

    iii. Requirements: business/product/software requirements

    iv. Expectations: mainly end-user expectations

    2. Definition of Testing

    (Question: Explain testing with software quality- 2 Marks each, 4 Marks)

    Testing can be defined in simple words as “Performing Verification and Validation of

    the Software Product” for its correctness and accuracy of working.

    i. Software testing is as old as the hills in the history of digital computers.

    ii. The testing of software is an important means of assessing the software to

    determine its quality.

    iii. Since testing typically consumes 40% to50% of development efforts, and

    consumes more effort for systems that require higher levels of reliability, it is

    a significant part of the software engineering.

    iv. With the development of fourth generation languages (4GL), which speeds up

    the implementation process, the proportion of time devoted to testing

    increased.

    v. As the amount of maintenance and upgrade of existing systems grow,

    significant amount of testing will also be needed to verify systems after

    changes are made.

    3. Role of Testing

    (Question: Explain the role of Testing – 6 Marks)

    i. Software testing is to identify errors in order to reveal and spot it.

    ii. The extent of software testing consists of implementation of that code in

    different domain and also to look at the features of the code does the software

    do what it is should be done and methods respect to the condition.

    iii. It is proposed to begin testing from the first phase of the software

    development.

    iv. It saves time as well as cost. It is a continuous method, which is probably

    nonstop but has to be stopped anywhere, for the need of time and resources.

  • Software Testing

    Anuradha Bhatia

    v. The basic need of the testing is to provide best quality product without taking

    so much time and money.

    vi. The test engineer has to pursue some technical way by which he/she can

    review that all the points of necessity for testing have been covered or not.

    In SDLC stage there are some most importance things as described below:

    i. Recognition of Error and Faults

     Testing step is one step which resolves the errors and faults in the software application.

     These errors may be in unit level or in system level.  After going through so many testing the application will be free of errors

    that may be disturbing the application.

    ii. Statistics to Shareholders and Status of Organization

     Testing stage helps to know the condition of product and work standards.  The stakeholders get better data through testing stage about utility value

    too.

    iii. Enhancement in Product Standards

     Testing can help to know the real result and the probable result.  It also helps to pick up the standards of the software.  With proper testing an application can come out of bugs and build up ideal

    software for the end-users.

    iv. Technical Significance

     Testing segment is significant for technical characteristics of any SDLC, as the software then completed with technically satisfied.

    v. To Succeed of any Contentious Programmers

     Ideal testing functions and tools aid to evolve up the product in business and keep programmers away from the other contestant.

     Going through all stages of testing, the software application will be more bugs free, protected and technically sound.

    vi. Free from any Risk

     Whenever going to develop any software, testing is an essential part.

  • Software Testing

    Anuradha Bhatia

     When develop software without any testing then it may cause lots of risks to the end users.

     To free everyone from any risk, it is essential that to go under all testing stages.

    vii. Enhanced Standards

     Appropriate tested application provides additional assurance of build up with best software.

     Moreover, it refines standards of application as incessant and all types of testing stages have prepared a protected and harmless software application that could be worn by the end users.

    viii. Confirmation and Corroboration

     One of the major targets of testing stage in SDLC is for confirmation and corroboration.

     Testing is greatly used in confirmation and corroboration method.  Depending on the result we can compare among standards of several

    software application.

    ix. Credibility Evaluation

     Testing stage also insist this important issue.  If the software application has gone through all the testing types (like unit

    testing, regression testing etc.), the application will surely be a reliable one.

     So, testing evaluate credibility of software application.  Testing provides the greatest analytical process to give equipped testing

    on product ensuing in a credible product.

    x. Demonstrate Accessibility and Feasibility

     One of the most significant targets of testing is to demonstrate the product is both accessible and functional.

     Accessibility testing is where the application is delivering to a select assembly of users and their functioning with the application is noticed.

     All type of a user's communication with the application, like easiness of applies and whenever users are getting troubles, are preserved and examined.

    xi. Avoid Fault Immigration

  • Software Testing

    Anuradha Bhatia

     In the first stage of SDLC, most of the faults have been found. If the faults can be noticed earlier, then these may be prohibited from immigrating to the following progress stage.

     If the errors could be discover previously then the saving of software development cost will be vast.

    xii. Commercial Significance

     A full tested software application will have excellent business aspects.  As all are like to work with reliable and trusted application in commercial.

    II. Failure, Error, fault, Defect, Bug Terminology (Question: Define Bug and list the terms related to software failure: – definition -

    1 mark, list – 1 mark, explanation – 2 marks = 4 marks)

    Definition: A bug can be defined in simple term as any error or mistake that leads to the

    failure of the product or software either due to the specification problem or due to

    communication problem, regarding what is developed and what had to be developed.

    1. Bug Terminology: Failure, Error, Fault The various terms related to software failure with respect to the area of

    application are listed as Defect, Variance, Fault, Failure, Problem, Inconsistency,

    Error, Feature, Incident, Bug, and Anomaly.

    i. Problem, error, and bug are probably the most generic terms used.

    ii. Anomaly, incident, and variance don’t sound quite so negative and infer

    more unintended operation than an all-out failure.

    iii. Fault, failure, and defect tend to imply a condition that’s really severe,

    maybe even dangerous. It doesn’t sound right to call an incorrectly colored

    icon a fault. These words also tend to imply blame: “It’s his fault that the

    software failed.

    iv. As all the words sound the same they are distinguished based on the

    severity and the area in which the software failure has occurred.

    v. When we run a program the error that we get during execution is termed

    on the basis of runtime error, compile time error, computational error, and

    assignment error.

    vi. The error can be removed by debugging, if not resolved leads to a problem

    and if the problem becomes large leads to software failure.

    vii. A bug can be defined as the initiation of error or a problem due to which

    fault, failure, incident or an anomaly occurs.

  • Software Testing

    Anuradha Bhatia

    viii. The program to find the factorial of a number given below lists few errors

    problem and failure in a program.

    For example

    1. #include

    2. void main()

    3. {

    4. int i , fact, n;

    5. printf(“enter the number “);

    6. scanf(“%d”,&n);

    7. for(i =1 ;i

  • Software Testing

    Anuradha Bhatia

    IV. When to start and stop testing of software 1. When to Start Testing

    (Question: Give the steps when should software testing start in proje