Articles On Testing

Wecome to http://www.articlesontesting.com !!!

Articles On Testing

Wecome to http://www.articlesontesting.com !!!

Articles On Testing

Wecome to http://www.articlesontesting.com !!!

Articles On Testing

Wecome to http://www.articlesontesting.com !!!

Articles On Testing

Wecome to http://www.articlesontesting.com !!!

What are the Basic Testing Concepts 2


Some Basic Concepts on Testing Continued from : 
What Are Basic Testing Concepts

Unit, Integration and System testing being replaced by ________   using object oriented software testing concepts
a.      classing testing, Object Integration testing, System testing
b.      Statement coverage, Branch coverage , Condition coverage
c.       All of the above
d.      None of the above

What is the relationship between equivalence partitioning and boundary value analysis techniques 
a.      Structural testing
b.      Opaque testing
c.       Compatibility testing
d.      All of the above

 Which statement is relevant for test driver
a)      A program that directs the execution of another program against a collection of test data sets. Usually the test driver also records and organizes the output generated as the tests are run.
b)      A document that identifies test items and includes current status and location information.
c)      A document describing any event during the testing process that requires investigation
d)     A software item that is an object of testing.

 Which of the following best describes validation
a.      Determination of the correctness of the final program or software produced from a development project with respect to the user needs and requirements.
b.      A document that describes testing activities and results and evaluates the corresponding test items
c.       Test data that lie within the domain of the function represented by the program
d.      All of the above

 Which of the following best describes the difference between clear box and opaque box?
1)      Clear box is structural testing , opaque box is functional testing
2)      Clear box is done by tester, and opaque box is done by developer
3)      Ad-hoc testing is a type of opaque box testing

a)1 only
b)     1 and 3
c)2
d)     3
The goal of software testing is to 
a.       Debug the system
b.      Validate that the system behaves as expected
c.       Let the developer know the defects injected by him
d.      Execute the program with the intent of finding errors

Formal testing guidelines suggest which one of the following as the correct source of functional test cases? 
  a.       The developer's knowledge of what the software can do
  b.      The software design
  c.       The software requirements
  d.      The tester's knowledge of what the software should do
  e.       The functional test procedures

What is the concept of introducing a small change to the program and having the effects of that change show up in some test?
a.       Desk checking
b.      Debugging a program
c.       A mutation error
d.      Performance testing
e.       Introducing mutations

Which type of testing is performed to test applications across different browsers and OS?
a.       Static testing
b.      Performance testing
c.       Compatibility testing
d.      Functional testing

Which document helps you to track test coverage?
a.      Traceability Matrix
b.      Test plan
c.       Test log
d.      Test summary report

Functional testing mostly employs
a.      Validation techniques
b.      Verification techniques
c.       Both of the above
d.      None of the above

Which of the following is not a type of test under phases in testing life cycle?
a.       Integration test
b.      Load test
c.       User Acceptance test
d.      Beta test

Verification performed without any executable code is referred to as
a.       Review
b.      Static testing
c.       Validation
d.      Sanity testing

Use of an executable model to represent the behavior of an object is called
a.      Simulation
b.      Software item
c.       Software feature
d.      None of the above

UAT is different from other testing types normally because of 
a.      Data
b.      Cycles
c.       Defects
d.      None of the above

Alpha testing is differentiated from Beta testing by  
a.      The location where the tests are conducted.
b.      The types of test conducted
c.       The people doing the testing
d.      The degree to which white box techniques are used

Defects are least costly to correct at what stage of the development cycle?  
a.   Requirements
b.   Analysis & Design
c.   Construction
d.   Implementation

The purpose of software testing is to: 
a.   Demonstrate that the application works properly
b.   Detect the defects
c.   Validate the logical design

_________must be developed to describe when and how testing will occur. 
a.       Test Strategy
b.      Test Plan
c.       Test Design
d.      High Level document

It is difficult to create test scenarios for high-level risks  
  1. True
  2. False
 __________ testing assumes that the path of logic in a unit or program is known.  
a.       Black Box testing
b.      Performance Testing
c.       White Box testing
d.      Functional testing
     
 _________ test is conducted at the developer's site by a customer.  
a.       Beta
b.      System
c.       Alpha
d.      None of the above

Software testing activities should start  
    a. As soon as the code is written
    b. during the design stage
    c. when the requirements have been formally documented
    d. as soon as possible in the development lifecycle

Decision to stop testing should be based upon 
  1. Successful use of specific test case design methodologies
  2. A percentage of coverage for each coverage category
  3. Rate of error detection falls below a specified threshold
  4. All of the above

Testing where the system is subjected to large number of data, is      
a) System Testing
b) Volume Testing
c) Statistical testing
d) Statement testing

Integration testing where no incremental testing takes place prior to all the system's components being combined to form the system. (Types of Testing)           
  1. System testing
  2. Component Testing
  3. Incremental Testing
  4. Big bang testing
Recovery Testing aims at verifying the system's ability to recover from varying degrees of failure.  
a)      True
b)      False

Which testing methods are used by end-users who actually test software before they use it?  
  1. Alpha & Beta Testing
  2. White Box Testing
  3. Black Box Testing
  4. Trial & Error Testing

The testing attempts to violate those procedures, which should test the adequacy of the security procedures.                       
  1. Disaster testing
  2. Functional testing
  3. Regression testing  
  4. Compliance testing
Testing error messages fall under ------- category of testing.
a)      Incremental Testing
b)      Thread Testing
c)      Documentation Testing
d)     Stress Testing


For more articles on Manual Testing Log On to Manual Testing Articles

What are the Basic Testing Concepts

Some Basic Concepts on Testing

What is COTS?
 a.                    Commercial On-the-shelf software
b.                    Commercial off-the-shelf software
c.                    Common Offshore testing Software

Test coverage analysis is the process of 
  1. Creating additional test cases to increase coverage
  2. Finding areas of program exercised by the test cases
  3. Determining a quantitative measure of code coverage, which is a direct measure of quality.
  4. All of the above.
Critical in Web Testing
  1. Performance and Functionality
  2. Functionality and usability
  3. Usability and Performance
  4. None of the above
Class testing
  1. require a driver to test
  2. no need of instances of other classes
  3. no need to test the transitions
  4. all of the above.
Testing across different languages is called
  1. Linguistic Testing
  2. Localization Testing
  3. Both a and b
  4. None of the above.
Hierarchical System
  1. several levels of component that includes objects and classes
  2. several levels of component that includes objects, classes, systems
  3. several levels of component that includes, foundation components, systems
  4. none of the above.
Hybrid Testing
  1. combination of one or more testing techniques
  2. Combination of top-down and bottom-up testing
  3. Both a and b
  4. None of the above.
White Box Testing
  1. same as glass box  testing
  2. same as clear box testing
  3. both a and b
  4. none of the above.
Build Verification Test
  1. same as smoke test
  2. done after each build to make sure that the build doesn't contain major errors
  3. both a and b
  4. None of the above.
Content Testing
  1. Similar to proof reading
  2. Widely used in web testing
  3. Part of usability Testing
  4. All of the above
Decision Coverage.
  1. testing the boolean expressions which are not in control structures
  2. entire expression is considered as boolean expression irrespective of logical-and and logical-or operators
  3. coverage except switch-statement cases, exception handlers
  4. all of the above.
Branch Coverage
  1. another name for decision coverage
  2. another name for all-edges coverage
  3. another name for basic path coverage
  4. all the above
The following example is a 

if (condition1 && (condition2 || function1()))
    statement1;
else
   statement2; 
  1. Decision coverage
  2. Condition coverage
  3. Statement coverage
  4. Path Coverage
Desk Checking 
  1. same as code walkthrough
  2. same as code inspection
  3. verification of code by the developers
  4. none of the above.
The benefits of glass box testing are 
  1. Focused Testing, Testing coverage, control flow
  2. Data integrity, Internal boundaries, algorithm specific testing
  3. Both a and b
  4. Either a or b
Structural Testing
  1. same as black box testing 
  2. same as white box testing
  3. same as functional testing
  4. none of the above.
Testing user documentation involves 
  1. Improved usability, reliability, maintainability
  2. Installability, scalability, liability
  3. Both a and b
  4. None of the above.
Identify which one is an internal failure  
  1. Delaying tester's access to areas of the code
  2. Replacement with updated product
  3. Training programmers to make or miss fewer bugs
  4. Testing by Tech. Support   
Smoke Testing 
  1. Same as build verification test
  2. To find that software is stable
  3. None of the above 
  4. To find whether the hardware burns out
Code Walkthrough
  1. a type of dynamic testing
  2. type of static testing
  3. neither dynamic nor static
  4. performed by the testing team
Static Analysis
  1. same as static testing
  2. done by the developers
  3. both a and b
  4. none of the above
User Acceptance Testing
  1. same as Alpha Testing
  2. same as Beta Testing
  3. combination of Alpha and Beta Testing
  4. none of the above 
Random Testing (K)     
a.  Program is tested randomly by sampling the input.
b.    A black-box testing technique
c.    Both a and b
d.    None of the above.

What is Error seeding 
  1. Evaluates the thoroughness with which a computer program is tested by purposely inserting errors into a supposedly correct program.
  2. Errors inserted by the developers intentionally to make the system malfunctioning.
  3. Neither a or b
  4. Both a and b
The post is continued at Basic Testing Concepts


For more articles on Manual Testing Log On to Manual Testing Articles

Ordered Test In VSTS


What is an Ordered Test ?
When do we use an Ordered Test ?
How do we utilize Ordered Test feature of Test Projects in VSTS ?

Let us first look into the following slides as to how do we add an Ordered test in a Test Project in VSTS .


























This last screenshot is the Solution Explorer View of the Test Project we have created comprising of two CodedUi Class files and one Ordered Test file.
Our aim now restricts to just the execution of this very ordered test file as all the methods present in the Class files of the CodedUi class files have been integrated within this very ordered test file.
Its this way that we can give an overnight execution of the scripts and hope the site remains up and the script logs all the execution states in a separate log file which I have discussed a couple of post back linked Here.



Add Objects In uimap.uitest file in the CodedUi Control map file

How to add objects in the uimap.uitest that is the CodedUi Control map file ?
        Do you actually know how the automation testing proceeds in a tool. It is very simple, we store the object's properties in some repository files and as and when we need to do some operation on those objects we identify those objects using some logical names that we might choose on our own and then call specific events such as click events to do the required operation.

 For example we might have a sign out link available in the website and our sole aim is to click the sign out link.

The way we can proceed is two:
1. It is simple record and playback approach and parameterise any data that has been making the sign out link dependent on the logged in user.
2. Just add the respective object in the repository file in coded ui testing it is the uimap file. Then call the mouse.click event on that particular object that is sign out object.

Now suppose the added object is sign out link we will be having below outlined methodology.
Declare the object with its particular hierarchy order and then call mouse.click event.

HtmlControl uiSignOutLink = this.UIMap.HierarchyWindow.HierarchyFrame.uiSgnOutlink;
Mouse.click(uiSignOutLink , new POint(0,0)); 


The above method signifies the syntax associated with the Mouse.click event.
The first parameter it takes is an object as has been declared in a line above and the second paramater it takes is a sort of syntax that needs to be cared for , do remain informed that the co-ordinates are no way deciding the object recognition, so it is immaterial whetehre we keep co-ordinates as 0,0 or some other as 56,67.

In the below screenshots, I have outlined some of the process to be followed to get the particular object added into the Uimap file that is the object repository file of the CodeduiTest project.

In the below sequence we will add an object using uitest control of the recording window.

Planning to add the tag of the blog : "Automation Testing On Share" into the uitest control map file .
So what I have just done is drag the cross hair which we use for inserting assertion points onto the psecific object by highlighting it as is shown below .
Now just open up the closed arrow sequence to get the object hierarchy established and understood by us and also find the options of adding the object into the Test Project's specific control map file.We can see the Add object button which we need to click and the object that has been in ticked status will be hence added to our control map file.


We can then find the message at the bottom that the object has been added successfully into the uimap file.

So guys whatever we have done till now has been in the IDE's buffer only, we need to store it into the uimap file and hence need to generate code for the object's addition into the uimap file for all our future access of the objects and perform relevant operations on the same. Hence we are needed to click Generate Code button.


The code is being generated now.

Okay so this is how we have learnt to add objects onto our object repository in the VSTS CodedUi Test Project automation tetsing.
I know this might just seem to be a bit complex in intial phase but once you can catch onto what has been outlined above, the usage can be really awesome and the code rework that we generally do in our automation script run during the regression suite execution can be made very easy.

A $25 tool has so much in offering I never could have thought of but the way this tool's utilisation has been encashed upon  by us in our team, I think the day is not far off , when the VSTS Test Projects might just be the most sought after automation tool in the industry .



For more on Automation Testing using CodedUitesting in VSTS :Log On To

Automation Testing Using Coded Ui Testing In VSTS

Code Customization In VSTS CodedUi Testing

How to do custom clicking in any particular checkbox in a web table based on specific field value within the one row in the complete table.

Before explaining or walking through the solution statement, I would prefer to explain to you the business scenario we often come across in our day to day automation testing experience during the course of functional testing automation.

Problem Statement:
We have a Table and within table a certain number of rows having certain number of columns. Suppose 5 rows and 3 columns. The first column has an html control in it of type Checkbox, Second column is having a particular field name, suppose product name in it and the third column is having the quantity of the item that has to be purchased. We have to check that particular row’s checkbox which has a particular product name in its product name column field.

Solution Approach:
We can break the problem statement into Five solution components –
1.  Fetch the row count in that particular table.
2.  Figure out the relation between the control id of the checkbox on the row number within the table.
3.  Fetch the row number in the table that has the corresponding Product name in the second column.
4.  Get the control id of the corresponding Checkbox generated based on Step 2 relationship establishment
5.  Set the checked status of the checkbox to True.

Before going through the codes below don ot forget to add the required objects by the below method by using the Add objects to the Ui Control map feature of the UITest Recording menu.


public void CodedUITestMethodCustomization()
{
// To generate code for this test, select "Generate Code for Coded UI Test" from the shortcut menu and select one of the menu items.

#region Variable Declaration
HtmlControl uiTable = this.UIMap.HierarchyWindow.HierarchyFrame.HierarchyTable;
HtmlCell uiTablecell = this.UIMap.HierarchyWindow.HierarchyFrame. HierarchyTable.uiTableCell;
string strProdTobDel= "Groceries";
string str1;
HtmlCheckBox chkbox = this.UIMap.HierarchyWindow.HierarchyFrame.uiTableCell CheckBox;
// To convert str1 into integer and then increment by one for checkbox recognition as inthis application the checkbox number is one more than the product control id‘s number
int intstr1;
string strCheckBoxId;
#endregion

#region  Get the rowcounts of the table
string RowCount = uiTable.GetProperty(HtmlTable.PropertyNames.RowCount).ToString();
MessageBox.Show(RowCount);
#endregion

#region Search for the Row and store in str1 having the Product to be deleted
uiTableCell.SearchProperties.Remove(HtmlCell.PropertyNames.Id);
uiTableCell.SearchProperties.Remove(HtmlCell.PropertyNames.Name);
uiTableCell.SearchProperties.Remove(HtmlCell.PropertyNames.MaxDepth);
uiTableCell.SearchProperties.Remove(HtmlCell.PropertyNames.ControlDefinition);
uiTableCell.SearchProperties.Remove(HtmlCell.PropertyNames.RowIndex);
uiTableCell.SearchProperties.Remove(HtmlCell.PropertyNames.ColumnIndex);
uiTableCell.SearchProperties.Remove(HtmlCell.PropertyNames.TagInstance);
uiTableCell.SearchProperties.Remove(HtmlCell.PropertyNames.Class);
uiTableCell.SearchProperties.Remove(HtmlCell.PropertyNames.InnerText);
uiTableCell.SearchProperties[HtmlCell.PropertyNames.InnerText] = strProdTobDel;
str1 = uiTableCell.GetProperty(HtmlCell.PropertyNames.RowIndex).ToString();
MessageBox.Show(str1);
#endregion

#region Click Corresponding Checkbox To The User That Is Fetched From Datasheet
strCheckBoxId.SearchProperties.Remove(HtmlCheckBox.PropertyNames.Name);
strCheckBoxId.SearchProperties.Remove(HtmlCheckBox.PropertyNames.LabeledBy);
strCheckBoxId.SearchProperties.Remove(HtmlCheckBox.PropertyNames.Title);
strCheckBoxId.SearchProperties.Remove(HtmlCheckBox.PropertyNames.Class);
strCheckBoxId.SearchProperties.Remove(HtmlCheckBox.PropertyNames.ControlDefinition);
strCheckBoxId.SearchProperties.Remove(HtmlCheckBox.PropertyNames.TagInstance);
strCheckBoxId.SearchProperties.Remove(HtmlCheckBox.PropertyNames.Value);
           
// Increment str by one due to bad coding discipline and resulting mismatch in column and row increments
intstr1 = Convert.ToInt16(str1);
intstr1 = intstr1 + 1;
strCheckBoxId = "ctl00_ContentMain_grdCreateCustRepoUsersModerator_ctl0" + intstr1 + "_chkUser";
MessageBox.Show(strCheckBoxId);
strCheckBoxId.SearchProperties[HtmlCell.PropertyNames.Id] = strCheckBoxId;
strCheckBoxId.Checked = true;
#endregion

}

 
For more on Automation Testing using CodedUitesting in VSTS :Log On To
Automation Testing Using Coded Ui Testing In VSTS