Monday, February 28, 2011

TaskManager - Tiny Footprint mode

Sometimes back, My laptop did not show menu bar and tabs in Task Manager. I restarted the laptop twice and no success. I searched Microsoft knowledge base and got to know about an interesting thing.

Microsoft KB - Task Manager Menu Bar and Tabs Are Not Visible in Windows XP

Problem
This behavior may occur if Task Manager is running in Tiny Footprint mode.

Resolution
To switch Task Manager to its typical display mode, double-click the top border of the window or the empty space in the border.

Friday, January 28, 2011

Generic Test Automation Framework

So far, I have developed various automation frameworks and recently using Robot Framework. Listed many features for Ideal Automation Framework and given below. Also would like to get more features from other users.

Reference to earlier posts and Links about automation framework.
Wikipedia - Test Automation
Wikipedia - KeyWord Driven Testing
Is KeyWord Driven Framework enough?
My Thoughts about Automation
What is an Automation Framework - from Dhanasekar's blog

Features for Generic and common Test Automation Framework

Headers

Features

Supported FrameworksFunctional Decomposition
Data Driven
Keyword Driven
Tabel Driven
Independent toOperating System
Application
Technology
Test ScriptingRecording
Parameterization
Suite Setup Module
Suite TearDown Module
Test Setup Module
Test TearDown Module
Database Integration
Scripting
Environment Library
Test ExecutionMultiple OS
Multiple platforms
Parallel Execution
Test Timeout
Based on Priority
Grouping Tests
Running Failed tests
Result AnalysisDetail reporting for each step execution
Snapshots for failed tests
Test level reporting
Compiled report
Results by category
Expected BenefitsLess effort to automate
Less dependence on highly skilled automation professionals
Exception handling
Easy to Maintain
Easy to Integrate with Other tools
Support to CI (Continuous Integration) tools
Additional ExpectationsDynamic conditions
Dynamic Loop support
UI to Edit data
UI to execute tests
Update test metrics automatically
Update captured defects automatically

Tuesday, January 25, 2011

Stop Worrying about Weaknesses

Got a interesting email last week. I hope, it would be useful for all...



Little Johnny comes home one day, looks down at his feet, and gives you his report card. You smile at him as you open it up and look inside. Then your smile disappears when you see the F in math. You also see an A (English) and two Bs (history and science). You look down at little Johnny and ask, "What happened in math, Johnny? Why did you get this F?"

We want our kids to be successful at everything they do. And if they're not good at something, we ask why they failed. We tell them to work harder at it. Understand what went wrong, focus, and fix it.

But that's a mistake. The wrong focus. If you dwell on Johnny's failure, on his weakness, you'll be setting him up for a life of struggle and low self-esteem while reducing his chances of reaching his full potential.

Also, as a side note, you won't fix his weakness. You'll just reinforce it.

The problem with a report card is that it measures all students against the same criteria, which ignores that each student is different with unique talents, distinct likes and dislikes, and particular aspirations. And when we see the F on little Johnny's report card, it's easy for us to get distracted from our primary job: to help him deeply enjoy his life and fulfill his potential by developing and deriving pleasure from his unique talents.

Fast forward 20 years. Little Johnny is now big John. As he sits down for a performance review with his manager, she spends a few quiet minutes looking over his review and then raises her eyes to meet his.

"You've worked hard this year John. Your client orientation is superb. You've met your sales goals and you're a solid team player. But you have an area that needs development, specifically, your detail orientation. The spreadsheets we get from you are a mess. Let's talk about how you can get better in that."
An A, two Bs and an F. And his manager handles it the same way his parent did. By focusing the conversation, and John's effort, on his least favorite and weakest area.

We have a report card problem in our companies and it's costing us a tremendous amount of time, money, potential, and happiness. It's costing us talent.
Traditional management systems encourage mediocrity in everything and excellence in nothing. Most performance review systems set an ideal picture of how we want everyone to act (standards, competencies, etc.) and then assesses how closely people match that ideal, nudging them to improve their weaknesses so they "meet or exceed expectations" in every area.

But how will John add the most value to his organization? He's amazing with people, not spreadsheets. He'll work hardest, derive the most pleasure, and contribute his maximum potential with the greatest result if he is able to focus as much time as possible in his area of strength. Which means taking his focus off developing the things in which he's weak. They're just a distraction.

Here's what his manager should say: "You've worked hard this year John. Your client orientation is superb. You've met your sales goals and you're a solid team player. But working on those spreadsheets isn't a good use of your time and it's not your strength. I'm going to ask David to do those for you from now on. He loves spreadsheets and is great at them. I want to spend the rest of our time talking about how you can get even better at working with your clients. That's where you shine — where you add the most value to the company — and you seem to really enjoy it."

An organization should be a platform for unique talent. A performance review system should be flexible enough to reflect and reward the successful contributions of diverse employees. Let's encourage people to be weak in areas in which they are average — because no one can possibly be great at everything — and place all our effort on developing their strengths further.

If it's impossible to take away the part of their job in which they're weak, then help them improve just enough so that it doesn't get in the way of their strength. If you can't take the spreadsheets away from John, help him get a C and move on. That would be preferable to spending the time and effort it would take to get an A or even a B.

Next time little Johnny hands you his report card with an F in math and an A in English, keep smiling and resist the temptation to ask about the F. Instead, ask about the A first. "What happened in English?" you should say to Johnny, "Why did you get this A?" Then let him tell you about how and why he succeeds. What is it about the work that excites him? What about the teacher? How did he study?

Then, if you want him to get a little better in math, you can help him recreate the conditions that led to his success in English.

And when you're done with the report card conversation, it might still be a good idea to get him a math tutor. Because school is about exposure to everything while business is about success in something.

And then, if you want to teach him to harness his particular path to success, make sure to get him an English tutor too.

Friday, January 21, 2011

Silktest2010R2

Silktest 2010R2 has been released in this month and Release notes - SilkTest_ReleaseNotes_en.pdf

Enhancements
Microfocus has improved the support for 64 bit Operating Systems and improved the features for Silk4NET and Silk4J Plugins.

  • Java AWT/Swing Application and Applet Record and Replay Support
  • Adobe Flex Version 4.x Support
  • 64-bit Support for .NET and Windows API-based Applications
  • Default Recording Mode for xBrowser Applications is Low-Level Native User Input
  • Dynamically Invoke Methods
  • SilkTest Workbench - Importing and Exporting Assets, ObjectMaps, Embedded Scripting Language & Integration with Additional Micro Focus Products
  • SilkTest Classic - Dynamic Object Recognition Supports Recording Locator Keywords

End-Of-Life (EOL) Components
I am wondering after seeing MSUIA technology in EOL list. Without that I'm sure that no body can support silverlight automation. Are they serious about this?
  • Adobe Air 1.x
  • Classic OCR
  • Firefox 3.0
  • IBM JRE 1.5
  • Java version 1.5
  • MSUIA technology domain (the WPF technology domain is still supported)

This time, Microfocus has developed few more documents and I like the effort for Migrating from the SilkTest Classic Agent to the Open Agent. More details from below links:
Silktest 2010R2 Release materials
Silktest 2010R2 Classic Documentation

Monday, December 27, 2010

Silverlight Automation

Few of our web applications were migrated to Silverlight technology. I was looking tools for Silverlight Automation. Still many of the leading automation tools have partial support. Few tools like Silktest do not have any support for Silverlight components. Even Microsoft's codedUI test didn't have support upto October 2010. So far, I have seen WebUI Test (Telerik's product) and QALiber (open source) have better support for Silverlight components.

Interestingly all of these UI tools are using MS UIA to identify and interact with Silverlight components. UIA is the successor technology to MSAA (Microsoft Active Accessibility). It is freely available from DotNet Framework. Recent Microsoft Operating Systems (Windows 7, Windows 2008 R2) have better support for UIA.

Microsoft UI Automation provides a single, generalized interface that automation clients can use to examine or operate the user interfaces of a variety of platforms and frameworks. UI Automation enables both accessibility applications such as screen readers and quality-assurance (test) code to examine user-interface elements and simulate user interaction with them from other code.

UIA Supporting Applications

  • Silverlight Applications
  • WPF Applications
  • .NET Windows Forms applications
  • Win32 Applications

Few References:
MS UIA (UI Automation)
Microsoft Documentation - Silverlight Accessibility Overview
UI Automation of a Silverlight Custom Control

WebUI Test tool - Commercial
QALiber tool - Open Source
WHITE tool - Open Source

Wishing you and your family a very happy, healthy and prosperous new year. Have a wonderful year ahead!!!

Sunday, December 26, 2010

Database Testing

Today database becomes as engine to many of the enterprise applications. System would be affected badly if the transactions and queries produced the false conditions. Due to lack of database testing, applications may go to dead lock, data corruption and data loss conditions. These type of issues would take more time to identify and fix. Database testing includes verifying stored procedures, table indexes, exceptions, schemas and compatibility.

Different types of Database Testing

  • Structural testing
  • Functional testing
  • Boundary testing
  • Stress Testing

Few Sample Scenarios
  • Creating an user account from GUI - How would you ensure the details are stored into table correctly?
  • Executing stored procedures in different conditions like valid and invalid conditions.
  • Varying data definitions - The data type and length for a particular attribute may vary in tables though the semantic definitions are same. Example: Account number declared as Number ( 9 ) in one table and the same as varchar2( 11 ) in another table.
  • Varying data codes and values - The data representation of the same attribute may vary with and across tables. Example: Yes or No may be represented as "Y", "y", "N", "n", "1", "0".
  • Misuse of integrity constraints - When referential integrity constrains are misused, foreign key values may left "dangling". Example: Employee record deleted but dependent records not deleted.
  • Nulls - Null may be ignored when joining tables or doing searches on the column.
  • Inaccessible data - Inaccessible data due to missing or reduntant unique identifier value. Example: Uniqueness not enforced.
  • Incorrect data values - Data that is misspelled or inaccurately recorded. Example: Indra Nagar - Indra ngr.
  • Inappropriate use of views - Data is updated incorrectly through views. Example: Data is properly fetched from the database but first record or last record is not displayed

Sunday, September 12, 2010

SQL Basics

I thought to write few posts about SQL and Database testing. This post is the result of that interest.

SQL - Structured Query Language. SQL is used to interact with databases. SQL is a non-procedural language and has few standards. SQL is standardized by the American National Standards Institute (ANSI).

Rules for writing SQL statements

  • It is not case sensitive.
  • It cannot be abbreviated or split across lines.
  • It can be on one or more lines.
  • Indents are used to enhance readability.
  • Clauses are usually placed on separate lines.

SQL's Components / Sub Languages
SQL consists of few components and given below:
  • DDL - Data Definition Language - Create, Alter, Drop, Truncate - For creating, altering and dropping the database objects like tables, viewes, indexes, synonyms,sequences and contraints.
  • DML - Data Manipulation Language - Insert, Update, Delete - For reading and updating data.
  • DRL - Data Retrieval Language - SELECT - For querying the data. SELECT has many clauses.
  • TCL - Transaction Control Language - Commit, Rollback, SavePoint - These allow to group one or more DML statements into units of work or transactions. All statements in a transaction either succeed or fail as a single group.
  • DCL - Data Control Language - Grant, Revoke - For managing database security, by creating user ids and assigning or removing privileges from them.

Tuesday, August 17, 2010

Silktest 2010

Microfocus released silktest 2010 last month. It has few additional features and enhancements. First time, release notes are published in PDF format. SilkTest_ReleaseNotes - pdf

Silktest 2010 Features

  1. Visual Tests- SilkTest Workbench lets you quickly record and playback visual tests. Visual tests comprise the basic building
    blocks of an automated testing solution. SilkTest Workbench uses visual tests to mimic the actions that are
    performed while testing an application.
  2. Embedded Scripting Language - SilkTest Workbench's scripting language is Microsoft's Visual Basic, a robust programming language that gives
    you total control over any application running in the Microsoft .NET framework. .NET scripts contain the functionality of a high-level programming language as well as features designed specifically for software control and testing.
  3. Integration with Additional Micro Focus Products- The SilkTest product suite includes two plugins, Silk4NET and Silk4J, which both work with SilkTest Recorder. Additionally, SilkTest Workbench works with SilkCentral Test Manager (SCTM).

I was expecting Silverlight Support in this release. I know that Mirofocus were working for Silverlight support. Microfocus may release the Silverlight support in next version.

Silk4J - Java as scripting language, introduced in Silktest 2008.
Silk4NET - C# or VB.NET as scripting language, introduced in Silktest 2010

End-Of-Life (EOL) Components
Also it has announced End of support for few OS and other features. The following operating systems, features, and integrations are not supported in SilkTest 2010.
  1. SilkTest Classic 4Test outline Editor mode Note: SilkTest Classic will continue to be supported. This change will not affect most SilkTest Classic users.
  2. Windows XP SP2
  3. Windows 2003 Server
  4. Java 1.4
  5. StarTeam integration
  6. PVCS integration

Friday, July 30, 2010

Visual Studio 2010 - Testing Features

I attended a presentation Visual Studio 2010 - Testing Features. Microsoft Visual Studio 2010 has different set of licenses. Apart from development features, VS2010 can be used for project management, testcase managment, UI automation, unit testing, defect tracking and Load testing.

Microsoft targets testing tools market. As of now, it is supporting microsoft technologies. I am sure that Microsoft would have reasonable share in testing tools market within next three years. Definitely it would be tough competitor for QuickTest Professional in near future. Tool has to be enhanced for object storage and simple scripting.

Few links for your reference:
VS 2010 Testing Capabilities (Videos)
Getting started with VS 2010 Defining Your Testing Effort Using Test Plans
Creating Manual Test Cases Recording and Playing Back Manual Tests
Testing the User Interface with Automated UI Tests (CodedUI Test)
Supported Configurations and Platforms for Coded UI Tests and Action Recordings
How to: Create a Coded UI Test (Documentation):
How to: Create a Coded UI Test Tutorial
Administering Team Foundation
Administration Guide for Microsoft Visual Studio Team System 2010 Team Foundation Server
Update on Silverlight support
Partial Silverlight support

Monday, May 31, 2010

Keystroke automation through VBScript

I was looking for a solution, which should do collapse all for silktest code. It is needed before do code comparison. I tried simple VBScript and it is working fine. It is fully based on keystrokes. Below I've shared the code.

VBScript - Sending Keystrokes

' To Collapse All opened Silktest files ' Usage: wscript silktest_collapse.vbs 100 Dim WshShell, iItem, iCount If WScript.Arguments.Count > 0 Then iCount = CInt(WScript.Arguments.Item(0)) Else iCount = 10 End If Wscript.Echo "Count " & CStr(iCount) Set WshShell = Wscript.CreateObject("Wscript.Shell") 'WshShell.AppActivate "Silktest - *" WshShell.SendKeys "%{TAB}" Wscript.Sleep 5000 For iItem=1 to iCount 'To Collapse -> Alt+L+L WshShell.SendKeys "%" WshShell.SendKeys "l" Wscript.Sleep 200 WshShell.SendKeys "l" Wscript.Sleep 1000 'To Save -> Ctrl+S WshShell.SendKeys "^s" Wscript.Sleep 900 'To Close -> Alt+F+C WshShell.SendKeys "%" WshShell.SendKeys "f" Wscript.Sleep 200 WshShell.SendKeys "c" Wscript.Sleep 700 Next Wscript.Echo "Completed."