Testing Basic Questions

download Testing Basic Questions

of 5

Transcript of Testing Basic Questions

  • 8/13/2019 Testing Basic Questions

    1/5

    Testing is the process of executing a program with the intent of finding errors

    People make errors. A good synonym is mistake. This may be a syntax error or misunderstandingof specifications. Sometimes, there are logical errors.

    When developers make mistakes while coding, we call these mistakes bugs.

    A fault is the representation of an error, where representation is the mode of expression, such asnarrative text, data flow diagrams, ER diagrams, source code etc. Defect is a good synonym for fault.

    A failure occurs when a fault executes. A particular fault may cause different failures, depending on howit has been exercised.

    Test and Test case terms are used interchangeably. In practice, both are same and are treated assynonyms. Test case describes an input description and an expected output description

    The set of test cases is called a test suite. Hence any combination of test cases may generate a testsuite

    Verification is the process of evaluating a system or component to determine whether the products of agiven development phase satisfy the conditions imposed at the start of that phase.

    Validation is the process of evaluating a system or component during or at the end of developmentprocess to determine whether it satisfies the specified requirements .

    Testing= Verification+Validation

    Alpha Tests are conducted at the developers site by some potentialcustomers. These tests areconducted in a controlled environment. Alpha testing may be started when formal testing process is nearcompletion.

    Beta Tests are conducted by the customers / end users at their sites. Unlike alpha testing, developer isnot present here. Beta testing is conducted in a real environment that cannot be controlled by thedeveloper.

    Black Box Testing:

    Is a testing performed on functional part of application without having knowledge of structural part of the

    application(coding and logic) .usually testing engineers involves

    White Box Testing:

    Is a testing on structural part of the application. Usually Developers or white box testers involes

    Gray box Testing:

    Is a testing on both structural and functional part of the application. Usually Testing engineers who

    has knowledge of programming logic will involve.

    Unit Testing:

    Unit is small part of the application, usually it is a program. Each program developed and

    separately tested, sometimes the program is mixed with other programs and tested. White box testers

    Performs this testing.

  • 8/13/2019 Testing Basic Questions

    2/5

    Module Testing:

    Module is a group of related features to perform a Task. Once the module is developed then it is

    released for the testing by testing department.

    This module under go for functional test i.e. Black Box test

    Integration Testing:

    Interfaces are used to linking the modules.Interface will be developed by Developers and those interfaces will be tested and then related

    modules will be linked and then tested

    This testing under White Box Testing

    System Level Testing:

    Testing engineers will conduct testing on entire System(Application).There are different types of

    System Testings are there

    1 System Integration Testing

    In this type of testing, testing engineers performs various actions on some module

    and then observes the reflections or reactions on other modules.

    2 User Acceptance Testing

    In this testing , testing engineers performs testing on some areas of the application

    which are related to the user in the presence of the user in order to make him to accept the

    application., this is under black box testing

    3 Stress Testing

    System is stressed beyond its specifications to check how and when it fails. Performed

    under heavy load like putting large number beyond storage capacity, complex database queries,

    continuous input to system or database load.

    4 Regression Testing:

    Testing the application as a whole for the modification in any module or

    functionality. Difficult to cover all the system in regression testing so typically automation tools

    are used for these testing types.

    5 Sanity Testing:

    Testing to determine if a new software version is performing well enough to accept

    it for a major testing effort. If application is crashing for initial use then system is not stable

    enough for further testing and build or application is assigned to fix

    6 End to End Testing:

    Similar to system testing, involves testing of a complete application environment in

    a situation that mimics real-world use, such as interacting with a database, using network

    communications, or interacting with other hardware, applications, or systems if appropriate.

  • 8/13/2019 Testing Basic Questions

    3/5

    7 Performance Testing:

    Similar to system testing, involves testing of a complete application environment in a

    situation that mimics real-world use, such as interacting with a database, using network communications, or

    interacting with other hardware, applications, or systems if appropriate.

    8 Usability Testing:User-friendliness check. Application flow is tested, Can new user understand the application

    easily, Proper help documented whenever user stuck at any point. Basically system avigation

    is checked in this testing.

    9 Comparison Testing:

    Comparison of product strengths and weaknesses with previous versions or other

    similar products.

    Dynamic Testing

    Dynamic Testing detects errors that can be in the program. Here, we write test cases to execute some conditions

    and parts of the program. Success depends on number of test cases and test coverage. However there is a

    possibility that all possible paths can not be executed and hence, many paths in program are uncovered and

    also, errors are undetected.

    Static Testing:

    Static testing is the process of evaluating a system or component based on its form, structure, content or

    documentation (without computer program execution). Static Testing involves analysis of program or its

    representation in some form. Unlike dynamic testing, it does not involve execution of code and also, there is no need

    to write test cases.

    Path Testing:

    Path Testing is the name given to a family of test techniques based on judiciously selecting a set of test

    paths through the program.

    If the set of paths are properly chosen then we have achieved some measure of test thoroughness. For

    example, pick enough paths to assure that every source statement has been executed at least once.

    Path testing techniques are the oldest of all structural test techniques.

    Path testing is most applicable to new software for unit testing. It is a structural technique.

    It requires complete knowledge of the program's structure(Code)

    It is most often used by programmers to unit test their own code.

    The effectiveness of path testing rapidly deteriorates as the size of the software aggregate under test

    increases.

  • 8/13/2019 Testing Basic Questions

    4/5

    Transactional Flow Testing:

    A transaction is an elementary process which is a smallest unit of activity that is meaningful to the

    user(s)and is self-contained and leaves the business of the application in a consistent state. Based on theprimary intention, a transaction can be classified as

    External Input (EI)

    External Output (EO)External Query (EQ)

    Each transaction has the beginning (birth) and the termination (death).

    External Input (EI) if it is an elementary process that has capability to accept the data or control

    information that enters the application boundary and its primary intention is to move the data either to alter

    the behavior of the system or to maintain the data in the systems storage

    External Output (EO) if it is an elementary process and its primary intention move the data is to

    prepare and present information outside the boundary along with performing at least one of the operations

    that involve perform mathematical operations or update data storage or create derived data or alter the

    behavior of the system.

    External Query (EQ) if it is an elementary process and its primary intention move the data is to prepare

    and present information outside the boundary and it shall not perform any mathematical operations or shall not

    update data storage or shall not create derived data or shall not alter the behavior of the system.

    Data Flow Testing:

    Data flow testing strategies are family of test strategies to track programs control flow in order to explore

    sequences of events related to status of data objects caused by creation, usage, modification or destruction with the

    intention of identifying any data anomalies.

    What is data flow

    Data flow is an abstract representation of the sequence and possible changes of state of data objects,where

    the state of an object is any of

    creation (created);

    used: used or modified;

    destruction (killed).

    Data flow structure follows the trail of a data item as it is accessed and modified by the code.

    Using Data flow, one can understand how the data acts as they are transformed by the program and also,

    defects like referencing a variable with an undefined value and variables that are never used can be identified.

    Domain Testing:

    For a set of input values a program is expected to show a identical behavior. Here that program works as

    if it is input data classifier. This chapter discusses on different techniques for classifying input data and their

    application to test interfaces, integration, and software design for testability. It also discuses limitation on each

    technique used in domain testing.

  • 8/13/2019 Testing Basic Questions

    5/5