sqanotes1

download sqanotes1

of 3

Transcript of sqanotes1

  • 7/30/2019 sqanotes1

    1/3

    why is testing necessary?

    testing is not necessarily something that is easy to define. it is ascertainingtowhether a system works?whether a system works and conforms to the requirements?whether a system works when the user acts like a user and enters all the inputsin the wrong way and pushes all the wrong buttons at the wrong time

    tha a system works correctly as specified but also quick enough to be useful andfriendly

    according to the glossary of terms used in software testing, testing is theprocess consisting of all life cycle activities, both static and dynamic concerned with planning,preparation and evaluation of software products and related work products to determine that they satisfy specified requirement, to demonostratethat they are fit for purpose and to detect errors

    software systems are an increasing part of life, from business applications to consumer products. more and more organizations are placing a major emphasis on software systems to be more efficient,competitive and able to provide their customer needs. we are seeing larger and larger percentages of businessess budgets being allocated to developing,implementing and maintaing these computer systems. that is because businesses are aware that if they are unable to provide a service

    due to not having the required technology then there is a high likelyhood that their customers will take their business elsewhere.

    most of us have had an experience with software that did not work as expected. software that does not work can have a large impact on an organisaton it can leadto many problems includingloss of money: this can include losing customers right through to financial penalities for non-compliance to legal requirements

    loss of time this can be caused by transactions taking a long time to process but can include staff not being able to work due to fault or failure

    damage to business reputation: if an organisation is unable to provide service t

    o their customers due to software problems then the customers will lose confidence or faith in this organisation

    injury or death it may sound dramatic but some safety-critical systems could result in injuries or deaths if they do not work properly(e.g flight traffic control software)

    causes of software defects:

    error: an error is a human action that produces an incorrect result(mistake)

    defect: a defect is a flaw in a component or system that can cause the component

    or system to fail to perform its required function

    a failure is an actual deviation of the component or system from its expected delivery, service or result

    a human ccan make an error, which produces a defect in the code in software,in the system or in a document

    if a defect in code is executed the system will fail to do what it should do (or

  • 7/30/2019 sqanotes1

    2/3

    do something it should not) causing a failure

    defects in software systems or documents may result in failures, but not all defects do so

    errors can be introduced in many places during the software development life cycle. the first place an error occurs is during the system conception while the ideas are still being formulated. if a wrong idea makes it through this process itis likely to be carried through the system design phase into the development. errors like these can be virtually impossible to detect until it is too late

    CAUSES OF SOFTWARE DEFECTS

    1) humans are falliblebecause of time pressurecomplex codecomplexity of the infrastructurechanged technologiesmany system interactions

    failures can be caused by environmental conditions as well; radiation, magnetism, electronic fields and pollution can cause faults in firmware or influence theexecution of software by changing the hardware conditions.

    roles of testing in software development, maintenance and operations

    we previously listed some of the risks that can be realised during the process of releasing software. to help reduce the risk to the business it is important toperform testing

    rigorous testing of system and documentation can help to reduce the risk of problems occurring during operation and contribute to the quality of the software system(if defects found are corrected before the system is released for operational use)

    software testing may also be required to meet contractual or legal requirements,or industry specific standards. for example a 3rd party software supplier may h

    ave guaranteed service levels written into the supply contract with the client that specifies how much testing must be performed by the supplier

    testing and risk

    there are many different types of risks that may be connected to a software development project. there are also many different definitions of risks, perhaps theeasiest being:

    a factor that could result in future negative consequences; usually expressed as impact and likelikhood

    in other words, if part of your system failed and as a result of that a person w

    as injured or even killed, or if your company lost significant amounts of moneyor if your customer based lost faith then your business would most definitely suffer. you would certainly want to make sure that part of the system had been fully tested. as such you would probaly assign a high or critical risk assessment to that part

    from the above it can be seen that as far as testing goes, we are concerned withthe risk of failure. as testing is an exercise in risk reduction the test teamshould seek to influence the delivery of software to achieve the optimum risk reduction profile

  • 7/30/2019 sqanotes1

    3/3

    the amount of testing performed depends on the risks involved. risks must be uedas the bases for allocation test time and for selecting what to test and whereto place emphasis.

    TESTING AND QUALITY

    we often hear the word quality being bandied around without any thought of whatis being meant by the word:

    quality is defined as the degree to which a compnent, system or process meets specified requirements and /or user/ customer needs and expectations

    with the help of testing it is possible to measure the quality in terms of defects found for both functional and non-functional software requirements and characteristics. quality starts at the begining of the project not where the code is delivered. by testing we gather information on where errors occur enter the sdlcand therefore concentrate effort on resolving quality issues to improve the development process.

    testing and quality

    software quality characteristics are defined by iso 9126

    software engineering - product quality asfunctionalityreliabilityusabilityefficiencymaintainabilityportability