Difference between Equalance class partion and Boundary value analysis

EQUIVALENCE CLASS PARTITION :

THIS IS A TECHNIQUE USED IN THE BLACK BOX TESTING METHOD, USED TO REFINE THE DATA INTO VALID AND INVALID CLASSES
FOR EXAMPLE : A TEXT BOX ACCEPTS ONLY ALPHABETS THEN CHECK WITH VALID : ENTERING a-z,A-Z THEN WITH INVALID :!@&* AND SPACES,12 ETC

BOUNDARY VALUE ANALYSIS:

THIS IS A TECHNIQUE USED IN THE BLACK BOX TESTING METHOD,USE TO CHECK THROUGH RANGE TO MINIMIZE THE TIME , RATHER THAN TESTING WITH WHOLE DATA FOR EXAMPLE: (1-1000) HERE NO NEED OF TESTING RIGHT FROM START IE FROM 1 TO 100 INSTEAD, CHECK WITH THE VALUES 0,1,2,99,100,101

BVA means we are checking Boundary values

Example: if we want to check the textbox object which accepts 4 to 10 alphabets char

In BVA we will check that object by giving 3 4 5 9 10 11 lower alphabets char.

i.e. min is 4 max 10

then we will check the object by giving boundary values as min min-1 min+1 max max-1 max+1

i.e 4 3 5 10 9 11

ECP means we have to check the type of the object

example:  In +ve condition above example we have test the object by giving alphabets i.e. a-z char only then object will accept the value it will pass.

In -ve condition we will check the object by giving other than alphabets(a-z)

i.e A-Z 0-9 blank etc

What is the 80/20 rule in Software Testing?

Most applications today have been designed to include some form of customization or extensibility including user preference settings, scripting languages or APIs for custom extensions using more traditional languages.
Software companies like Microsoft understand this, and design for a product that addresses 80 percent of the requirements, leaving the last 20% as customizations by the end user

80% of Defects are Caused by 20% of Code……

The concept here is the Pareto Principle, originally described by Vilfredo Pareto and later formalized by Joseph Juran. Of course, this is just a rule of thumb, but an important one. Whether the percentages are really 70/30 or 90/10, the reality is that most things are caused by a few underlying factors.

For software testers, knowing this fact can offer tremendous value. If a tester is simply looking at a list of 100 bugs, it may not be clear if there is any underlying meaning. But if the tester were to combine those bugs based on some kind of category, it may be possible to see that a very large number of bugs come from very few places.

Here are a few recommendations for getting the most out of this principle:

– Try to sort bugs by root cause and not by outcome. Grouping all the bugs that made the software crash isn’t that helpful. Grouping all the bugs that resulted from module XYZ is more helpful.
– Work with developers to look for innovative groupings. For example, 80% of the program’s bugs may result from calling the same underlying library. However, that may not be readily apparent from where the bugs occur within the program.
– Remember that bugs may result from flawed procedures. For example, a large number of bugs could be present because a developer is using out of date specifications.

This principle can be tremendously powerful in reducing the bug counts within a program because solving just a few things can make a program much more stable.

Business Logic Test cases..

Q. How to write “Business Logic” test cases ?

Ans. How do you write any other test case? same way…but you need to consider the business conditions(Pre and Post), terms, rules, dependencies

Q. Whether it is related to functionality of the application only ?
Ans. Yes, Business Logic is nothing but core functionality.

Q. What are the input documents required to refer before writing business logic ?
Ans. BRD (Business Requirement. Document) is must, as most of the logic are specified apart from there up to your convenience

Q. Who will write the business logic test cases ?
Ans. Business Analyst will write the Business Logic, Test Analyst will write the test cases for the Business logic.

What are the main Sources of Software Bugs?

Main sources of Software Bugs

1. Poor requirements and software specifications.
2. Improper design.
3. Communication GAP
4. Lack of domain language.
5. When time is short and also depends on poor coding.
6. Not proper knowledge on tools used if any.
7. Improper deployment of the fixes made
8. Poor unit testing of the component by developer
9. Poor Integration testing within components
10. Manual errors
11. Poor Documentation

Use Cases !!!

What is a Use Case?

A use case is a description of how a system’s behavior in response to a request from a stakeholder known as an actor. The actor could be a person or an external system that interacts with the system being described.

The actor initiates an action with the system with the purpose of accomplishing a goal. The system responds to the actor’s action in a way that fulfills the interests of all of its stakeholders. A use case summarizes a complete series of related scenarios that may unfold.

Use cases by definition are developed in text format using natural or non-technical language. However, they can also be developed in use case diagram form using UML notation or a combination of both text and diagrams.

Parts of a Use Case

There is no set template for use cases. There are some core sections that are considered the most useful in use cases. You should use as many or as few of these sections as needed to successfully document your system’s requirements. The core sections for use cases are:

– Use case ID
– Use case name
– Version
– Goal
– Summary / Description
– Primary Actor
– Secondary Actor
– Pre-conditions
– Trigger
– Basic course of events
– Exceptions
– Alternative paths
– Post-conditions
– Business rules
– Notes
– Author and date

Why Use Cases?

Use cases can be used to document any type of system. They can be used to document a software system or to document a company’s business processes.

Use cases are useful because they quickly and early clarify how the system will behave when the users interact with it. Use cases are easy for users to understand.

In addition, use cases are helpful for brainstorming conditions under which the system may fail and working out solutions to the problems that fulfill the stakeholders’ interests.

How to Write Use Cases

– Develop a list of usage goals from your stake holders. This is your initial list of use cases.
– Develop a short paragraph describing each use case this will be your summary or description.
– Develop the header section of the use case. The header for each use case should include:
– The Use Case ID Number
– The Use Case Name
– Pre-conditions
– Post-conditions
– Primary Actor
– Secondary Actor
– Trigger

Verify that your use case headers are correct then iterate through them again to add more sections and more details. Further detail sections are:

– Basic Course of Events – steps that the actor and system go through to accomplish a goal
– Exceptions – steps for handling errors and exceptions.
– Alternative Paths – steps for handling variations.

Check your use case for failure points and missing requirements.
As your write your use cases, do it in a way that makes them easy to read. Use natural language. Keep your statements simple and concise.

What is Cookie? What are the Advantages and Disadvantages of Cookies ?

Cookies are messages that web servers pass to your web browser when you visit Internet sites. Your browser stores each message in a small file. When you request another page from the server, your browser sends the cookie back to the server. These files typically contain information about your visit to the web page, as well as any information you’ve volunteered, such as your name and interests.

Advantage:
You can get back the session / page / thread of page you are looking for quickly

Disadvantage:
In automation or manual testing if deployment of new feature happens / deployment after bug fix happens then you wont see the latest changes unless & until you delete the cookies from browser cache….

What is the difference between Load Testing and Performance Testing ?

You can’t find difference between Load Testing and Performance Testing Because Load Testing is a part of Performance Testing.

Performance Testing:

Performance testing is “ To demonstrate the system functions to specifications with acceptable response times while processing the required transaction volume on a production sized data base”. That means the objective is Performance enhancement.

It determines which modules execute most often or use the most computer time.Then these modules are re-examined and recorded to run more quickly.
It can be tested using both black box and white box testing, but the white box testing yields finer analysis.

Load Testing:

Load testing is subset of performance testing. Load testing studies the behavior of the program when it is working at its limits.

Performance Testing is a combination of 3 type of Testing :

Performance Testing:
1. Load Testing
2. Stress Testing
3. Volume Testing

1) Load Testing:

In this we test number of users on application as per client requirements by applying gradually increase or at a time. Load testing is mainly based on giving the data only for mandatory fields in an application. Load testing is for required fields (for mandatory fields).

2) Volume testing:

In this we test an application by providing more and more data for all the fields. Here is the main eg. We can find the difference between Load and Volume testing

Fields Man. fields MF* People
Load 100 10 10 * 25
Volume 100 100 100*25

3) Stress testing:

Finding the break point of an application is Stress testing. At a time load is Stress on the application.

Eg: client mentions no. Of users. Let us assume 25.
In this context Load & Stress will be as follows.
Load: one by one hits the application up to 25 users
Stress: At a time 25 users hits on the application

What are User Acceptance Test Cases for any Application ?

Acceptance testing is done to determine whether to accept the app or not.

This could be in the form of
-Alpha Testing – Where test are conducted at the development site by the end users. Environment can be controlled a little bit in this case.
– Beta Testing – Where test are conducted at customer site and development team do not have any control on the test environment.

User Acceptance Test Cases are taken from the requirements of the application,
It basically to demonstrate that “The User Got what He asked For”…

Difference between QC & Test Director..

There are lot of differences between the two,

QC is the next version of TD.

QC uses a 2 Repositories, where in TD only 1.
I don’t remember the all, simple difference is there is dashboard in QC which is not there in TD.

We can integrate QTP scripts to be executed from QC, not so in TD.

Test Director

1. Why is TestDirector used for?

TestDirector is a test management tool. The completely web-enabled TestDirector supports high level of communication and association among various testing teams, driving a more effective and efficient global

application-testing process. One can also create reports and graphs to help review the progress of planning tests, executing tests, and tracking defects before a software release.

2. Why are the requirements linked to the test cases?

TestDirector connects requirements directly to test cases, ensuring that all the requirements have been covered by the test cases.

3. What are the benefits and features of TestDirector?

TestDirector incorporates all aspects of the testing process i.e. requirement management, test planning, test case management, scheduling, executing tests and defect management into a single browser-based

application. It maps requirements directly to the test cases ensuring that all the requirements have been covered by the test cases. It can import requirements and test plans from excel sheet accelerating the testing

process. It executes both manual and automated tests.

4. What is the use of filters in TD?

Filters in TestDirector are mainly used to filter out for the required results. It helps to customize and categorize the results. For eg: to quickly view the passed and failed tests separately filters are used.

5. What is Test Lab?

In the Test Lab the test cases are executed. Test Lab will always be linked to the test plan. Usually both are given the same name for easy recognition.

6. How to customize the defect management cycle in Quality Center?

Firstly one should collect all the attributes that has to be part of the defect management like version, defect origin, defect details, etc. Later using the modify options in QC one can change the defect module accordingly.

7. What is the advantage of writing test cases in Quality Center than writing in excel sheet?

Although creating test cases in excel sheet will be faster than doing it in QC as excel is more user friendly when compared to QC one require to upload them to QC and this process may cause some delay due to various

reasons. Also QC provides link to other tests which in turn is mapped to the requirements.

8. What is the difference between TestDirector and Quality Center?

The main difference is QC is more secured than TestDirector. In Quality Center the login page shows projects associated only to the logged in user unlike in Test Director where one can see all the available projects.

Also test management is much more improved in QC than TD. Defect linkage functionality in QC is more flexible when compared to TD.

9. What is meant by Instance?

Test instance is an instance of test case in Test Lab. Basically it means the test case which you have imported in Test lab for execution.

10. What is the use of requirement option in TestDirector?

Requirement module in TD is used for writing the requirements and preparing the traceability matrix.

11. Is it possible to maintain test data in TestDirector?

Yes one can attach the test data to the corresponding test cases or create a separate folder in test plan to store them.

12. If one tries to upgrade from TestDirector 7.2 to QC 8.0 then is there risk of losing any data?

No there is no risk of losing the data during the migration process. One has to follow proper steps for successful migration.

13. How is a bug closed in TestDirector?

Once the test cases are executed in the Test Lab and bugs are detected, it is logged as a defect using the Defect Report Tab and sent to the developer. The bug will have 5 different status namely New, Open, Rejected,

Deferred and Closed. Once the bug has been fixed and verified its status is changed to closed. This way the bug lifecycle ends.

14. In TD how are the test cases divided into different groups?

In the test plan of TestDirector one can create separate folder for various modules depending on the project. A main module in the test plan can be created and then sub modules be added to that.

15. What is the difference between TD and Bugzilla?

TestDirector is a test management tool. In TD one can write manual and automated test cases, add requirements, map requirements to the test cases and log defects. Bugzilla is used only for logging and tracking the

defects.

16. Are TestDirector and QC one and the same?

Yes TestDirector and Quality Center are same. Version of TD 8.2 onwards was known as Quality Center. The latest version of Quality Center is 9.2. QC is much more advanced when compared to TD.

17. What is the instance of the test case inside the Test Set?

Test set is a place containing sets of test cases. We can store many test cases inside test set. Now instance of test case is the test case which you have imported in the test tab. If an another test case has the same

steps as this test case till half way then you can create the instance of this test case.

18. What are the various types of reports in TestDirector?

In TD reports are available for requirements, test cases, test execution, defects, etc. The reports give various details like summary, progress, coverage, etc. Reports can be generated from each TestDirector module

using the default settings or it can be customized. When customizing a report, filters and sort conditions can be applied and the required layout of the fields in the report can be specified. Sub-reports can also be added

to the main report. The settings of the reports can be saved as favorite views and reloaded as required.

19. How can one map a single defect to more than one test script?

Using the ‘associate defect’ option in TestDirector one can map the same defect to a number of test cases.

20. Is it possible to create custom defect template in TestDirector?

It is not possible to create ones own template for defect reporting in TestDirector but one can customize the template that is already available in TestDirector as required.

21. Can a script in TD be created before recording script in Winrunner or QTP?

Any automation script can be created directly in TD. You need to open the tool (Winrunner or QTP) and then connect to TD by specifying the url, project, domain, userid and password. And then you just record the script

like you always do. When you save the script, you can save it in TD instead of your local system.

22. How to ensure that there is no duplication of bugs in TestDirector?

In the defect tracking window of TD there is a “find similar defect” icon. When this icon is clicked after writing the defect, if anybody else has entered the same defect then it points it out.

23. How is the Defect ID generated in TestDirector?

The Defect ID is automatically generated once the defect is submitted in TD.

24. What does the test grid contain?

The test grid displays all the relevant tests related to a project in TD. It contains the some key elements like test grid toolbar with various buttons for commands which are commonly used when creating and modifying

the tests, grid filter which displays the filter that is currently applied to a column, description tab which displays a description of the selected test in the test grid and history tab that displays the changes made to a test.

25. What are the 3 views in TD?

The three views in TD are Plan Test which is used to prepare a set of test cases as per the requirements, Run Test which is used for executing the prepared test scripts with respect to the test cases and finally Track

Defects which is used by the test engineers for logging the defects.

26. How to upload data from an excel sheet to TestDirector?

In order to upload data from excel sheet to TD firstly excel addin has to be installed, then the rows in the excel sheet which has to be imported to TD should be selected, and then finally the Export to TD option in the

tools menu of TestDirector should be selected.

27. How many types of tabs are available in TestDirector?

There are 4 types of tabs available in TestDirector. They are Requirement, Test Plan, Test Lab and Defect. It is possible to customize the names of these tabs as desired.

28. Is ‘Not covered’ and ‘Not run’ status the same?

Not Covered status means all those requirements for which the test cases are not written whereas Not Run status means all those requirements for which test cases are written but are not run.

29. How does TestDirector store data?

In TD data is stored on the server.

30. Why should we create an Instance?

Test Instance is used to run the test case in the test lab. It is the test instance that you can run since you can’t run the test case in test set.

Quality Centre

1. What is meant by test lab in Quality Centre?
Test lab is a part of Quality Centre where we can execute our test on different cycles creating test tree for each one of them. We need to add test to these test trees from the tests, which are placed under test plan in

the project. Internally Quality Centre will refer to this test while running then in the test lab.

2. Can you map the defects directly to the requirements(Not through the test cases) in the Quality Centre?
In the following methods is most likely to used in this case:
Create your Req.Structure
Create the test case structure and the test cases
Map the test cases to the App.Req
Run and report bugs from your test cases in the test lab module.

The database structure in Quality Centre is mapping test cases to defects, only if you have created the bug from Application. test case may be we can update the mapping by using some code in the bug script

module(from the customize project function), as per as i know, it is not possible to map defects directly to an requirements.

3. how do you run reports from Quality Centre. Does any one have good white paper or articles?
This is how you do it
1. Open the Quality Centre project
2. Displays the requirements modules
3. Choose report
Analysis > reports > standard requirements report

4. Can we upload test cases from an excel sheet into Quality Centre?
Yes go to Add-In menu Quality Centre, find the excel add-In, and install it in your machine.
Now open excel, you can find the new menu option export to Quality Centre. Rest of the procedure is self explanatory.

5. Can we export the file from Quality Centre to excel sheet. If yes then how?
Requirement tab– Right click on main req/click on export/save as word, excel or other template. This would save all the child requirements

Test plan tab: Only individual test can be exported. no parent child export is possible. Select a test script, click on the design steps tab, right click anywhere on the open window. Click on export and save as.

Test lab tab: Select a child group. Click on execution grid if it is not selected. Right click anywhere. Default save option is excel. But can be saved in documents and other formats. Select all or selected option

Defects Tab: Right click anywhere on the window, export all or selected defects and save excel sheet or document.

6. How many types of tabs are there in Quality Centre. Explain?
There are four types of tabs are available

1. Requirement : To track the customer requirements
2. Testplan : To design the test cases and to store the test scripts
3. test lab : To execute the test cases and track the results.
4. Defect : To log a defect and to track the logged defects.

7. How to map the requirements with test cases in Quality Centre?
1. In requirements tab select coverage view
2. Select requirement by clicking on parent/child or grandchild
3. On right hand side(In coverage view window) another window will appear. It has two tabs
a) Tests coverage
b) Details
Test coverage tab will be selected by default or you click on it.
4. Click on select tests button a new window will appear on right hand side and you will see a list of all tests. You cans elect any test case you want to map with your requirements.

8. How to use Quality Centre in real time project?
Once completed the preparing of test cases
1. Export the test cases into Quality Centre( It will contained total 8 steps)
2. The test cases will be loaded in the test plan module
3. Once the execution is started. We move the test cases from test plan tab to the test lab module.
4. In test lab, we execute the test cases and put as pass or fail or incomplete. We generate the graph in the test lab for daily report and sent to the on site (where ever you want to deliver)
5. If we got any defects and raise the defects in the defect module. when raising the defects, attach the defects with the screen shot.

9. Difference between Web Inspect-QA Inspect?
QA Inspect finds and prioritizes security vulnerabilities in an entire web application or in specific usage scenarios during testing and presents detail information and remediation advise about each vulnerability.
Web Inspect ensures the security of your most critical information by identifying known and unknown vulnerabilities within the web application. With web Inspect, auditors, compliance officers and security experts can

perform security assessments on a web enabled application. Web inspect enables users to perform security assessments for any web application or web service, including the industry leading application platforms.

10. How can w add requirements to test cases in Quality Centre?
Just you can use the option of add requirements.
Two kinds of requirements are available in TD.
1. Parent Requirement
2. Child requirements.

Parent Requirements nothing but title of the requirements, it covers high level functions of the requirements

Testing Software Licenses

What is Software License?

Software license is a file that verifies User’s permission to use a software program. Usually, a license is used to activate the software for the user and can be used over a period of time, after which the user has to renew it again by connecting to internet.

What is License Management?

License Management feature covers the acquisition, storage, usage (binding), backup/restore and destruction (deletion) of licenses.

What need to be tested?

· 1 X 1 Licenses: These licenses should be useful only for one machine and one user. If we try to use the same license in another machine or for another user product, it should give an appropriate error message.

· n X n Licenses: These are licenses for multiple machines and multiple users. For ex: 1X2 license should be allowed to activate the product in single machine for two different users and 2X1 license should be allowed to activate the product in 2 machines for the same user.

· License specific to a User: Here we need to make sure that license file created for a user while activating the product should not be useful for the other user in the same machine or in different machine by copying to another machine or user’s folder.

· License specific to a Machine: Here we need to make sure that license file created for a machine while activating the product should not be useful in other machine for the same user or different user.

· Checking validity of license while using the product every time (Online/Offline): When user logs-in to the product, product should check for the validity of the license. We may use the product while it is online to the license server or it may be offline. So this validity check should be done in both cases.

· Checking License expiration: We need to make sure that license expires after the period specified by the license provider.

· Renewal of License files from Server: In some products, license may be renewed in frequent intervals if the user is online. The functionality of the product should remain intact after license renewal.

· Checking License validation process: We need to know the way license is validated while using the product. Many products validate the license only when the user logs-in to the applications. If the user doesn’t log-out, S/he may use the product after license expiration. We many need to control this process. In our project we used Tickers to check the license at frequent intervals even though the user is not logged-out

· Checking License after changing the System Time (forward/Backward): Some license servers detect the change in system time settings. We need to check the product functionality when the system time is changed like rolling the time forward or backward.

· Checking License while installing after changing the System Time: We also need to check the installation of the product after changing the system time. If we install the product at different system time, it should not allow using the product.

· Checking Time Zone dependency on License file: Licenses created for the product should be useful in any time zones. The license validity or expiration time should not be changed even though time zone setting is changed in the machine.