13676_homework-2

Embed Size (px)

Citation preview

  • 8/8/2019 13676_homework-2

    1/10

    CAP526 Software Testing and Quality Assurence

    Homework Title / No. : 2 Course Code : CAP526

    Course Instructor: MS. GARGI SHARMA

    DOA: DOS : MARCH 10, 2010

    Students Roll No: RD3803B50 Section No : D3803

    Declaration:

    I declare that this assignment is my individual work. I have not copied from

    any other students work or from any other source except where due

    acknowledgment is made explicitly in the text, nor has any part been written

    for me by another person.

    Students Signature:

    Sandeep Saini

    Evaluators comments:

    _____________________________________________________________________

    Marks obtained : ___________ out of ______________________

    Part AQ1. Why does knowing how the Software works influence how and

    what you should test?.

  • 8/8/2019 13676_homework-2

    2/10

  • 8/8/2019 13676_homework-2

    3/10

    Since tests can be very complex, highly skilled resources are required,with thorough knowledge of programming and implementation.

    Test script maintenance can be a burden if the implementation changestoo frequently.

    Since this method of testing it closely tied with the application beingtesting, tools to cater to every kind of implementation/platform may notbe readily available.

    White Box Testing is like the work of a mechanic who examines the engineto see why the car is not moving.

    Q3. How could you guarantee that your Software would never have

    a Configuration Problem?

    We can not guarantee that a software would never have a configuration

    problem because as new software are coming up in the market ,new

    hardware are also coming up in the market..it is not possible that user

    update all the new hardware that are coming in the market. may be,

    software is not compactable with it.therefore it is never possible thatsoftware would never have a configuration problem.

    Q4. Create the equivalence partitioning and write test cases to test

    the login screen containing username and password?

    1. Cursor position in username field.2. Validations for wrong entry of username:a. Case sensitivity can be tested

    b. Cursor back to username field after being shown validation message.3. Cursor position to Password field on pressing Tab key.4. Validations for wrong entry of password.a. Case sensitivity should be testedb. Cursor back to password field after being shown validation message.5. Focus to Login button on pressing Tab key.

  • 8/8/2019 13676_homework-2

    4/10

    Q5. Explain the key elements involved in formal reviews?

    The formal review process is intended to address the impacts of a

    deliverable on other areas and to provide management assurance that the

    deliverable satisfies the given requirements for quality. Formal reviews are

    usually called inspections.

    Essential elements to a formal review:-

    1. identify problem:-

    The goal of review is to find problems with the software not just items that

    are wrong, but missing items as well. All criticism should be directed at the

    design or code, not the person who created it.

    2. Follow rules:-

    A fixed set of rules should be followed. They may set the amount of code to

    be reviewed, how much time will be spent, what can be commends on, andso on.

    3. Prepare:-

    Each participant is expected to prepare for and contributes to the reviews.

    Depending on the type of review, participants may have different roles. They

    need to know what their duties and responsibilities are and be ready toactively fulfill them at the reviews.

    4. Write a report:-

  • 8/8/2019 13676_homework-2

    5/10

    The review group must produce a written report summarizing the result of

    the review and make that report available to the rest of the product

    development team.

    Part B

    Q6. Is it acceptable to release a Software Product that has

    Configuration Bugs?

    No,it is not acceptable to release a software product that has configuration

    bugs..

    Configuration testing is the process of testing a system under developmenton machines which have various combinations of hardware and software.

    In many situations the number of possible configurations is far too large totest. For example, suppose you are a member of a test team which workingon some desktop user application. The number of combinations of operatingsystem versions, memory sizes, hard drive types, CPUs alone could beenormous. If you target only 10 different operating system versions, 8

  • 8/8/2019 13676_homework-2

    6/10

    different memory sizes, 6 different hard drives, and 7 different CPUs, thereare already 10 * 8 * 6* 7 = 3,360 different hardware configurations. Then if you add varioussoftware components such as Web browser version, anti-virus software,earlier versions of the system under development, the number of possibleconfigurations quickly becomes unmanageable. Note that not all softwaredevelopment efforts necessarily face an unmanageable number ofconfigurations. For example, software developed for specific, non-PChardware devicesmay have only a handful of hardware and software configurations.

    Q7. In addition to age and popularity what other criteria might you

    use to equivalence Partition Hardware for Configuration testing?

    Equivalence partitions of the hardware for the configuration testing are:-

    1. Based on the input from the people who works on the equipment.

    2. Project manager.

    3. Sales people etc.

    After that develop the test cases, collect the selected hardware, and

    run the tests.

    Q8. What are the different levels of Testing and the goals of

    different levels? For each level Which Testing Approach is more

    suitable?

    There are two levels of testing:1. Static Testing2. Dynamic Testing

  • 8/8/2019 13676_homework-2

    7/10

    1. Static Testing: Static testing typically reviews and meetings to evaluatethe documents, plans, code,requirements and specification.2. Dynamic Testing:a)Unit Testingb)Integration Testingc)System Testingd)User Acceptance Testing

    a)Unit Testing: To test a single program,module,or unit of code.b)Integration Testing: To test related programs,modules or units of code are

    interfaced properly or not validates that multiple parts of the system interactaccording to the system design.c)System Testing: To test an entire computer system with respect tofunctionality and performance.d)User Acceptance Testing: The end user tests the application to checkwhether the it is as per customers requirements or not.

    Goal:to show a program meets its specification but testing can never becomplete for non-trivial programs.What is a successful test?

    _ One in which no errors were found?_ One in which one or more errors were found?Testing should be:_ repeatable_ if you find an error, youll want to repeat the test to show others_ if you correct an error, youll want to repeat the test to check you did fix it_ systematic_ random testing is not enough_ select test sets that cover the range of behaviors of the program

    _ select test sets that are representative of real uses_ documented_ keep track of what tests were performed, and what the results were

  • 8/8/2019 13676_homework-2

    8/10

    Q9. Relate verification and validation to the Quality control and

    Quality Assurance with an example?

    Verification is a Quality control process that is used to evaluate whether or

    not a product, service, or system complies with regulations, specifications, or

    conditions imposed at the start of a development phase. Verification can be

    in development, scale-up, or production. This is often an internal process.

    Validation is Quality assurance process of establishing evidence that

    provides a high degree of assurance that a product, service, or system

    accomplishes its intended requirements. This often involves acceptance of

    fitness for purpose with end users and other product stakeholders.

    It is sometimes said that verification can be expressed by the query "Are youbuilding the thing right?" and validation by "Are you building the rightthing?" "Building the right thing" refers back to the user's needs, while"building it right" checks that the specifications be correctly implemented bythe system. In some contexts, it is required to have written requirements for

    both as well as formal procedures or protocols for determining compliance.

    Q10. In a code review check list there are some items as given

    below .Categories them.

    1. Is the entire conditional path reachable?

    2. If the pointers are used, are they initialized properly?

    3. Is there any part of code unreachable?

    4. Has the use of similar looking operators (e.g. &,&& or =,== inC)checked ?

    Does the code follow the coding conventions of the organization?

  • 8/8/2019 13676_homework-2

    9/10

    Answer1:-

    It is a control flow errors.

    Answer2:-

    It is a data declaration error.

    Answer3:-

    It is input/output errors.

    Answer4:-

    It is the computation errors.

    Yes, this code follows the coding convention of an organization

  • 8/8/2019 13676_homework-2

    10/10