Pages

Thursday, November 1, 2012

Tools for Mobile Testing



  • FoneMonkey 5The only tool for iOS that records all actions with the iPhone or iPad (while in use) and plays them back as a test script at any time. Enables interactive creation, editing and playback of automation scripts that exercise an application’s user interface.
  • iPhoney: Provides a “pixel-accurate web browsing environment, powered by Safari”
  • Modify Headers: From Firefox: “Add, modify and filter the HTTP request headers sent to web servers. This add-on is useful for Mobile web development, HTTP testing and privacy.”
  • AppGrader for Android: Upload your app’s APK to test it on a range of devices. See how well your app performs during installation and launch, get crash reports and see how your app stacks up against other popular apps in its category.
  • Apphance: Apphance is an all-in-one mobile tool that provides over-the-air app distribution, automatically collects and reports crash data (and other pertinent device data at the time of the crash) and offers in-app bug reporting and user feedback.
  • Selenium:  Selenium 2 offers both iphone and android testing.


Thursday, August 9, 2012

Variant Subtypes


Beyond the simple numeric or string classifications, a Variant can make further distinctions about the specific nature of numeric information. For example, you can have numeric information that represents a date or a time. When used with other date or time data, the result is always expressed as a date or a time. You can also have a rich variety of numeric information ranging in size from Boolean values to huge floating-point numbers. These different categories of information that can be contained in a Variant are called subtypes. Most of the time, you can just put the kind of data you want in a Variant, and the Variant behaves in a way that is most appropriate for the data it contains.


v  The following table shows subtypes of data that a Variant can contain.



SubtypeDescription EmptyVariant is uninitialized. Value is 0 for numeric variables or a zero-length string ("") for string variables. NullVariant intentionally contains no data. BooleanContains either True or False. ByteContains integer in the range 0 to 255. IntegerContains integer in the range -32,768 to 32,255. Currency-922,337,203,456,567.8967 to 922,337,203,456,567.8967. LongContains integer in the range -2,147,456,876 to 2,147,456,876. SingleContains a single-precision, floating-point number in the range -1.587673E38 to -4.255876E-34 for negative values;
4.255876E-324 to 1.587673E308 for positive values.
DoubleContains a double-precision, floating-point number in the range -
1.58767385678356E308 to -4.25587673856783E-324 for negative values;
4.25587673856783E-324 to 1.58767385678356E308 for positive values.
Date (Time)Contains a number that represents a date between Jan 1,100 to Dec 31, 9999. StringContains a variable-length string that can be up to appr 2 billion characters in length. ObjectContains an object. ErrorContains an error number.

Sunday, July 8, 2012

VB Script Variables

A variable is a convenient placeholder that refers to a computer memory location where you can store program information that may change during the time your script is running. For example, you might create a variable called ClickCount to store the number of times a user clicks an object on a particular Web page. Where the variable is stored in computer memory is unimportant. What is important is that you only have to refer to a variable by name to see or change its value. In VBScript, variables are always of one fundamental data type, Variant.
Declaring Variables
v  You declare variables explicitly in your script using the Dim statement, the Public statement, and the Private statement. For example:
                                Dim DegreesFahrenheit
v  You declare multiple variables by separating each variable name with a comma. For example:
Dim Top, Bottom, Left, Right
v  You can also declare a variable implicitly by simply using its name in your script. That is not generally a good practice because you could misspell the variable name in one or more places, causing unexpected results when your script is run. For that reason, the Option Explicit statement is available to require explicit declaration of all variables. The Option Explicit statement should be the first statement in your script.
                 Variable names follow the standard rules for naming anything in VBScript. A variable name:
®  Must begin with an alphabetic character.
®  Cannot contain an embedded period.
®  Must not exceed 255 characters.
®  Must be unique in the scope in which it is declared.
Scope and Lifetime of Variables
v                  A variable's scope is determined by where you declare it. When you declare a variable within a procedure, only code within that procedure can access or change the value of that variable. It has local scope and is a procedure-level variable. If you declare a variable outside a procedure, you make it recognizable to all the procedures in your script. This is a script-level variable, and it has script-level scope.
v  The lifetime of a variable depends on how long it exists. The lifetime of a script-level variable extends from the time it is declared until the time the script is finished running. At procedure level, a variable exists only as long as you are in the procedure. When the procedure exits, the variable is destroyed. Local variables are ideal as temporary storage space when a procedure is executing. You can have local variables of the same name in several different procedures because each is recognized only by the procedure in which it is declared.
Assigning Values to Variables
v  Values are assigned to variables creating an expression as follows: the variable is on the left side of the expression and the value you want to assign to the variable is on the right. For example:
®  B = 200
v  You represent date literals and time literals by enclosing them in number signs (#), as shown in the following example.
®  CutoffDate = #06/18/2008#
®  CutoffTime = #3:36:00 PM#
Scalar Variables and Array Variables
Much of the time, you only want to assign a single value to a variable you have declared. A variable containing a single value is a scalar variable. Other times, it is convenient to assign more than one related value to a single variable. Then you can create a variable that can contain a series of values. This is called an array variable. Array variables and scalar variables are declared in the same way, except that the declaration of an array variable uses parentheses ( ) following the variable name. In the following example, a single-dimension array containing 11 elements is declared:
®  Dim A(10)
                                Although the number shown in the parentheses is 10, all arrays in VBScript are zero-based, so this array actually contains 11 elements. In a zero-based array, the number of array elements is always the number shown in parentheses plus one. This kind of array is called a fixed-size array.
                                You assign data to each of the elements of the array using an index into the array. Beginning at zero and ending at 10, data can be assigned to the elements of an array as follows:
                                A(0) = 256
                                 A(1) = 324
                                A(2) = 100
                                . . .
                                A(10) = 55
                                Similarly, the data can be retrieved from any element using an index into the particular array element you want. For example:
                           . . .
                                 SomeVariable = A(8)
                                . . .

                                Arrays aren't limited to a single dimension. You can have as many as 60 dimensions, although most people can't comprehend more than three or four dimensions. You can declare multiple dimensions by separating an array's size numbers in the parentheses with commas. In the following example, the MyTable variable is a two-dimensional array consisting of 6 rows and 11 columns:
                                Dim MyTable(5, 10)
                                In a two-dimensional array, the first number is always the number of rows; the second number is the number of columns.
                                You can also declare an array whose size changes during the time your script is running. This is called a dynamic array. The array is initially declared within a procedure using either the Dim statement or using the ReDim statement. However, for a dynamic array, no size or number of dimensions is placed inside the parentheses. For example:
                                Dim MyArray() ReDim AnotherArray()
                                To use a dynamic array, you must subsequently use ReDim to determine the number of dimensions and the size of each dimension. In the following example, ReDim sets the initial size of the dynamic array to 25. A subsequent ReDim statement resizes the array to 30, but uses the Preserve keyword to preserve the contents of the array as the resizing takes place.
                                ReDim MyArray(25) . . . ReDim Preserve MyArray(30)
                                There is no limit to the number of times you can resize a dynamic array, although if you make an array smaller, you lose the data in the eliminated elements

Wednesday, June 27, 2012

VB Basics

®  The HTML <script> tag is used to insert a VBScript into an HTML page.
®  VBScript code is written within paired SCRIPT tags.
®  Beginning and ending SCRIPT tags surround the code. The LANGUAGE attribute indicates the scripting language. You must specify the language because browsers can use other scripting languages.
®  You can use SCRIPT blocks anywhere in an HTML page. You can put them in both the BODY and HEAD sections. However, you will probably want to put all general-purpose scripting code in the HEAD section in order to keep all the code together. Keeping your code in the HEAD section ensures that all code is read and decoded before it is called from within the BODY section.
®  One notable exception to this rule is that you may want to provide inline scripting code within forms to respond to the events of objects in your form.
A Sample VBScript :    
      <html>
 <body>
<script type="text/vbscript">
document.write("Hello World!")
</script>
</body>
</html>

v  VB Script features by category:
®  Array handling
®  Assignments
®   Comments
®  Constants/Literals
®   Control flow
®  Conversions
®  Dates/Times
®  Declarations
®  Error Handling
®  Expressions
®  Formatting Strings
®  Input/output
®  Literals
®  Math
®  Miscellaneous
®  Objects
®  Operators
®  Options
®  Procedures
®  Rounding
®  Script Engine ID
®   Strings
®  Variants

Test Plan: Review and Approval

v  Hold Review meetings with all the involved stake holders
v  Invite all the stake holders who are impacted by the plan to the review meeting
v  Before Review meets, send out the plans vide Email with ample time for the audience to go through the plan
v  Try to limit the audience according to project depth
v  Address the concerns raised in that forum and try resolving them on the spot
v  Incorporate the changes which come out of the review meeting, version it and re-circulate it as the final version
v  Lack of response could also mean no one has read the plan too
v  Track till sign-off is received from the client side (or as appropriate – as defined in the roles and responsibilities)

Test Plan: Tips and Guidelines

v  Lengthy plans which could tire the reader and the audience during a review meeting
v  Multiple test plans for the subprojects in a project with data overlapping
v  Usage of needless Jargons and irrelevant terms for the target audience
v  Absence of references which may lead to lack of clarity of the document
v  Missing out proper definition of roles and responsibilities
v  Inadequate preparation which may leave a lot of sections to be under discussion
v  Incomplete Documentation due to lack of information
v  Use drafts to stimulate discussion
v  Build the test plan with necessary information like Software being Tested, Test Objectives and risks
v  Have a single master plan for the various Test activities involved in your project to avoid information redundancy
v  Keep the Test Plan practical, focused and short
v  The writing style matters, Avoid passive verbs. Don’t say that something is to be done, Instead mention exactly who is to do what and when
v  As a rule of thumb, when using TBD, it is desirable to record who's responsible for resolution of the TBD and a target completion date
v  Define the roles and responsibilities clearly
v  Keep Jargon, buzz words and so forth limited to those appropriate for the audience
v  Maintain a reference section to promote clarity
v  Ensure that standards / templates followed for the sake of it does not lead to loss of focus, credibility and relevance
v  Use the Test Plan as an opportunity to communicate with the test team, development colleagues and the management.

Master Test Plan


®  Consolidated plan which has the entire details of all levels of testing; such as
®  Mostly applicable in very large application
®  A separate test plan will be drafted for each test phase
®  Contains a high-level overview of the testing effort from Client’s perspective and processes

          Unit Test Plan
          Approach / Plan for testing each and every module / unit of application code
          Integration Test Plan
          Plan for testing if related programs / modules / Units of code are interfaced properly or not.
          Validates the system’s integrity according to the design specification
          System Testing
          Defines the organizations (overall and specific), activities, resources, and planning processes deemed to be necessary
          Has the approach for the entire system to be tested  both functionally and non-functional testing such as Performance, Compatibility etc
          Acceptance Testing
          Has the plan of how the testing will be conducted at the customer end before the product is set to be go-live.
          Addresses the environment,  responsibility for writing the test scripts, SLAs for acceptance, metrics etc

Test Plan

      What is Planning?
®  An act of formulating a program for a definite course of action
®  The act or process of drawing up plans or layouts for some project or enterprise
®  The process of thinking about what you will do to achieve some specific goal

What is a Test Plan?
®  A test plan is a document detailing a systematic approach to testing a system such as a machine or software. The plan typically contains a detailed understanding of what the eventual workflow will be.

Why Plan?
®  Helps reduce the necessary time and effort of achieving the goal
®  A plan is like a map, you can always see how much you have progressed towards your project goal and how far you are from your destination.
®  Helps management to clarify, focus, and research their project's development and prospects.
®  Offers a benchmark against which actual performance can be measured and reviewed.

Best Example for Batch Testing

  • Payroll processing of company which involves sequential execution of the batch jobs
»      This does not need any user inputs. The only input required is the month which can be predefined in an input file. Rest of the data such as the pay structure etc. is available in the database.
»      The output of this process, namely the salary of employee, is not required real time. This process needs to be carried out only once a month during a specific day.
»      This deals with high volume of salary transaction records of all the employees.
»      The process is quite intensive and may interfere with the performance of other online applications deployed on the same server. So it is scheduled to be run at night.

Batch Testing

  • Business processes which require intervention from users in terms of input data, decisions etc. are developed as online applications for e.g., Login page – required user to enter ID and Password
  • Batches typically deal with large volume of data with many transactions in a predefined sequence due to the dependency on each other
  • They also require most of the system resources due to which they are typically scheduled to be executed during off business hours
  • There is no user interface unlike applications testing. The inputs are provided through defined files or configurations and output is verified in the database or output files
  • The test steps are minimal since there is no navigation across screens as in applications
  • The verifications points are many at the end of a single batch and requires validation across many different tables for verification of expected results
  • Dependency on the transactions needs to be taken into consideration while planning. Jobs need to be sequentially run to ensure each job receives the necessary input from the previous job appropriately
  • Appropriate error notifications and audit trails to be tested
  • Business processes which do not require any intervention from users and are not real time based on user demand are developed as batch applications. For e.g., payroll processing for employees in a company

Saturday, April 14, 2012

Testing a Mobile Application with “Test Maker”

An automation tool for Mobile Applications, “TestMaker” from PushToTest Inc.TestMaker is solutions for testing mobile and web application.It provides record/playback, unit testing, and data driven testing solutions.It  also provides telephony protocol handlers to rapidly build test suites.
According to “Push To Test” Sprint and Bell Aliant have adopted this solution for there mobile testing needs.Well this is the reason also why I am sharing this tool with you.I have not adopted this tool for yet so I  keep it up to you to have a look on this tool and to see whether it satisfies your Mobile Testing Need.
For more details and download of this tool visit:-

Wednesday, March 14, 2012

Handset Bluetooth testing

Bluetooth
It is an wireless protocol for exchanging data from fixed and mobile devices over a short distance.
Now that we are clear with the definition of Bluetooth, let’s move on to Bluetooth testing of mobile/handheld devices.
Today all mobiles have this feature and following pointers must be kept in mind while doing Bluetooth testing.
1.    Initially check the visibility of the device to others while trying to search your device (Master)
2.    Try to pair with device.
3.    Change the visibility time (Ex: On, 1min, 3 min etc)
4.    Rename the device (Slave)and try to pair with same (Master)device and check for the name update in Master
5.    Transfer of files from Master to slave and slave to master
6.    Connect the call via BT headset
7.    Try to pair with maximum devices allowed to pair.
8.    Try to share the files with all the maximum paired devices at a time
9.    Check that BT can be invoked from Multimedia applications while trying to send the media/files
10.  Try to send the contact via BT.