14
 Homework Title / No. :SOFTWARE TESTING AND QUALITY ASSURANCE ( 2) Course Code : CAP 526_______ Course Instructor :LECT. JITESHWAR ANAND Course Tutor (if applicable): ____________ Student’s Roll No . A15_________ ____________ Section No. : D3804_________________________   Declaration: I declare that this assignment is my individual work. I have not copied from any other student’s 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. Student’s Signature: SURENDRA Evaluator’s comments:  ____________ _____________ _____________ ______ Marks obtained: ___________ out of ___________________ ___ 

HW2_15

Embed Size (px)

Citation preview

Page 1: HW2_15

8/8/2019 HW2_15

http://slidepdf.com/reader/full/hw215 1/14

 Homework Title / No. :SOFTWARE TESTING AND QUALITY ASSURANCE ( 2)

Course Code : CAP 526_______ 

Course Instructor :LECT. JITESHWAR ANAND

Course Tutor (if applicable): ____________ 

Student’s Roll No. A15_____________________ Section No. :D3804_________________________ 

  Declaration:

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

other student’s 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.

Student’s Signature: 

SURENDRA 

Evaluator’s comments: _____________________________________________________________________ 

Marks obtained: ___________ out of ______________________ 

Page 2: HW2_15

8/8/2019 HW2_15

http://slidepdf.com/reader/full/hw215 2/14

Part – A

Q1. Why does knowing how the Software works influence how an what you

should test?

ANS:

The whole of the testing process depends on how the software works according to requirement

specification given by the user. So the developed software has to pass through the validation

 process as well as the verification process of testing. Testing will be done on the basis of requirements of software. It should be test on the basis of overall working of software and

requirements of the software.

If you test only by running the software and not seeing the coding part i.e. by a black-box testing

the software, you won't know if your test cases adequately cover all the parts of the software i.e.what types of data types its able to interact with, what are the different boundaries condition and

what to test them and how the control is moving from one module of the software to the another 

one.

So all the various types of testing techniques should be involves according to software like:

Black Box Testing White Box Testing

Functional Testing

Stress Testing

Load Testing

Exploratory Testing

Usability Testing

Smoke Testing

Recovery Testing

Volume testing

Domain Testing

Scenario testing

Regression Testing

User Acceptance

Unit Testing

Static & dynamic Analysis

Statement Coverage

Branch Coverage

Security Testing

Mutation Testing

Page 3: HW2_15

8/8/2019 HW2_15

http://slidepdf.com/reader/full/hw215 3/14

Alpha Testing

Beta Testing

Page 4: HW2_15

8/8/2019 HW2_15

http://slidepdf.com/reader/full/hw215 4/14

Page 5: HW2_15

8/8/2019 HW2_15

http://slidepdf.com/reader/full/hw215 5/14

Page 6: HW2_15

8/8/2019 HW2_15

http://slidepdf.com/reader/full/hw215 6/14

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

screen containing username and password?

Ans:

 Consider a ymail account which has:

User Id= [email protected]

Password=surendrasingh

Test cases:

1) User Id=NULL , Password=NULL

 E.g.

User Id= , Password =

Result-- prompt message “please enter user id and password”

2) User ID=NULL , Password= not null

 E.g.

User Id= , Password =12345678

Result-- prompt message “please enter valid email id”

3) User ID=Not NULL , Password= null

 E.g.

User [email protected] , Password =

Result-- prompt message “please enter valid password”

4) User ID=Not Valid (Not containing both ‘.’ And ‘@’) , Password= valid

 E.g.

User Id= surendra_singhymailcom , Password = surendrasingh

Result-- prompt message “please enter valid user id or password”

5) User ID=Not Valid (Not containing ‘@’ but containing ‘.’) , Password= valid

 E.g.

User Id= surendra_singhymail.com    , Password = surendrasinghResult-- prompt message “please enter valid user id or password”

6) User ID=Valid (Not containing both ‘.’ but containing ‘@’) , Password= not valid

 E.g.

User Id= surendrasingh@ymailcom , Password = surendrasingh

Result-- prompt message “please enter valid user id or password”

Page 7: HW2_15

8/8/2019 HW2_15

http://slidepdf.com/reader/full/hw215 7/14

7) User ID=Valid (containing both ‘.’ And ‘@’) , Password= Less than 6 characters

 E.g.

User Id= [email protected]    , Password = singh

Result-- prompt message “Too small to be a password”

8) User ID=Valid (containing both ‘.’ And ‘@’) , Password= Greater than 12

characters

 E.g.

User Id= surendra_singh@ymailcom , Password =

surendrasingh12345678

Result-- prompt message “Too long to be a password”

9) User ID=Valid (containing both ‘.’ And ‘@’) , Password= valid(10 Characters)

 E.g.

User Id= surendra_singh@ymailcom , Password = surendrasingh

Result-- prompt message “valid user id and password” Logging…….

Page 8: HW2_15

8/8/2019 HW2_15

http://slidepdf.com/reader/full/hw215 8/14

Q5. Explain the key elements involved in formal reviews?

Ans:

  There are four essential elements to a formal review:

• Identify problems.

The goal of the review is to find problems with the softwarenot just items that arewrong, but missing items as well. All criticism should be directed at the design or 

code, not the person who created it. Participants shouldn't take any criticism

 personally. Leave your egos, emotions, and sensitive feelings at the door.

• Follow rules.

A fixed set of rules should be followed. They may set the amount of code to bereviewed (usually a couple hundred lines), how much time will be spent (a couple

hours), what can be commented on, and so on. This is important so that the

 participants know what their roles are and what they should expect. It helps the reviewrun more smoothly.

• Prepare.

Each participant is expected to prepare for and contribute to the review. Depending onthe type of review, participants may have different roles. They need to know what

their duties and responsibilities are and be ready to actively fulfill them at the review.

Most of the problems found through the review process are found during preparation,

not at the actual review.

• Write a report.

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

and make that report available to the rest of the product development team. It'simperative that others are told the results of the meeting how many problems werefound, where they were found, and so on.

Page 9: HW2_15

8/8/2019 HW2_15

http://slidepdf.com/reader/full/hw215 9/14

Part – B

Q6. Is it acceptable to release a software product that has configuration bugs?

Ans:

 No it is not a proper approach to release a software having configuration bugs

For this probably you will never be able to fix all of them. As in all testing, the process is

risk based. You and your team will need to decide what you can fix and what you can't.

Leaving in an obscure bug that only appears with a rare piece of hardware is an easy

decision. Others won't be as easy.

For example:

1. In year 1997 the Microsoft release a Windows 97 but at the releaseceremony when they attach peripheral devices it starts to give the blue screen

error. An thus was not able to link will all types of the peripheral devices ie it was

having some configurationally bugs in it. For this the in 1998 Microsoft updates

and redeveloped the 97 to Windows 98 which was one of the most stable os

known today.

2. In 1994 the Disney releases its first multimedia CD-ROM game for 

children. THE LOIN KING ANIMATED STORYBOOK . Its sale was huge in

millions. But there was a bug, the game was not able to support the customer 

computer configuration.

It turns that Disney fails to test the software on a broad representation of 

different PC models available. So for that Disney reconfigured its game software

and then Re-send to their customers for free. Resulting into a great loss and waste

of money….

Page 10: HW2_15

8/8/2019 HW2_15

http://slidepdf.com/reader/full/hw215 10/14

Q: 7. In addition to age and popularity what other criteria might you use to

equivalence partition hardware for configuration testing?

Ans: 

Region or country: is a possibility as some hardware devices such as DVD players only

work with DVDs in their geographic region like a software which is developed by acountry organization which is not globally spread doesn’t know what type of hardware are

 being used in the rest of the world. Another might be consumer or business. Some

hardware is specific to one, but not the other. Think of others that might apply to your 

software.

Cost of a software is directly relates to time for testing any software. Greater time for 

testing the software greater will be its cost or budget. If a proper amount of testing is not

done then also also the number of buz will go on increasing. If a excess testing is done thecost will exponentially increase. If software does not work on the current hardware i.e.,

the software is failed to pass the configuration testing, the project manager must find

those types of hardware on that the software will work. To do this, he/she has to make

some alternatives on the basis of brand, cost, models, etc. And choose the best amongthem.

 

Page 11: HW2_15

8/8/2019 HW2_15

http://slidepdf.com/reader/full/hw215 11/14

Q8. What are the different levels of testing and the goals of different levels?

For each level which testing approach is more suitable?

Ans: Different Levels of testing are as :

• ACCEPTANCE TESTINGTesting to verify a product meets customer specified requirements. A customer usually does

this type of testing on a product that is developed externally.

• BLACK BOX TESTINGTesting without knowledge of the internal workings of the item being tested. Tests are usually

functional.

• COMPATIBILITY TESTINGTesting to ensure compatibility of an application or Web site with different browsers, OSs,

and hardware platforms. Compatibility testing can be performed manually or can be driven by

an automated functional or regression test suite.

• CONFORMANCE TESTINGVerifying implementation conformance to industry standards. Producing tests for the behavior 

of an implementation to be sure it provides the portability, interoperability, and/or 

compatibility a standard defines.

• FUNCTIONAL TESTINGValidating an application or Web site conforms to its specifications and correctly performs all

its required functions. This entails a series of tests which perform a feature by feature

validation of behavior, using a wide range of normal and erroneous input data. This can

involve testing of the product's user interface, APIs, database management, security,installation, networking, etcF testing can be performed on an automated or manual basis using

 black box or white box methodologies.

• INTEGRATION TESTINGTesting in which modules are combined and tested as a group. Modules are typically code

modules, individual applications, client and server applications on a network, etc. Integration

Testing follows unit testing and precedes system testing.

• LOAD TESTINGLoad testing is a generic term covering Performance Testing and Stress Testing.

• PERFORMANCE TESTINGPerformance testing can be applied to understand your application or WWW site's scalability,

or to benchmark the performance in an environment of third party products such as servers

and middleware for potential purchase. This sort of testing is particularly useful to identify

 performance bottlenecks in high use applications. Performance testing generally involves an

automated test suite as this allows easy simulation of a variety of normal, peak, andexceptional load conditions.

Page 12: HW2_15

8/8/2019 HW2_15

http://slidepdf.com/reader/full/hw215 12/14

• REGRESSION TESTINGSimilar in scope to a functional test, a regression test allows a consistent, repeatable validation

of each new release of a product or Web site. Such testing ensures reported product defects

have been corrected for each new release and that no new quality problems were introduced in

the maintenance process. Though regression testing can be performed manually an automated

test suite is often used to reduce the time and resources needed to perform the required testing.

• SMOKE TESTINGA quick-and-dirty test that the major functions of a piece of software work without bothering

with finer details. Originated in the hardware testing practice of turning on a new piece of 

hardware for the first time and considering it a success if it does not catch on fire.

• STRESS TESTINGTesting conducted to evaluate a system or component at or beyond the limits of its specified

requirements to determine the load under which it fails and how. A graceful degradation under 

load leading to non-catastrophic failure is the desired result. Often Stress Testing is performedusing the same process as Performance Testing but employing a very high level of simulated

load.

• SYSTEM TESTINGTesting conducted on a complete, integrated system to evaluate the system's compliance with

its specified requirements. System testing falls within the scope of black box testing, and as

such, should require no knowledge of the inner design of the code or logic.

• UNIT TESTINGFunctional and reliability testing in an Engineering environment. Producing tests for the

 behavior of components of a product to ensure their correct behavior prior to system

integration.

• WHITE BOX TESTINGTesting based on an analysis of internal workings and structure of a piece of software.Includes techniques such as Branch Testing and Path Testing. Also known as Structural

Testing and Glass Box Testing.

Page 13: HW2_15

8/8/2019 HW2_15

http://slidepdf.com/reader/full/hw215 13/14

Q9. Relate verification and validation to the quality control and quality

assurance with an example?

ANS:

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 you building thething right?" and validation by "Are you building the right thing?" "Building the right

thing" refers back to the user's needs, while "building it right" checks that the

specifications be correctly implemented by the system. In some contexts, it is required to

have written requirements for both as well as formal procedures or protocols for 

determining compliance.

Page 14: HW2_15

8/8/2019 HW2_15

http://slidepdf.com/reader/full/hw215 14/14

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

them. Does the code follow the coding conventions of the organization?

1. Is the entire conditional path reachable?

 ANS: Its a Control flow error 

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

 ANS: It’s a Data reference error or can be a memory reference error 

3. Is there any part of code unreachable?

 ANS: It’s a Data reference error 

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

 ANS: it’s a Comparison error