Thursday, September 27, 2012

Ten Ways to Improve Quality Productivity

Having worked in Quality Assurance in many different roles and organizations over the years, I have come to realize that some days, we are the *rock stars* of the organization (or at least we feel like we are) and other days barely get to log a defect.


In thinking this over to try and gain a better understanding of what holds back the rock star days I have come up with a few things I noticed in my own day that apply across the board. Small or large organization, there seems to be some commonality, without further adieu, here they are:
Limit meetings to once a week or less.I know, most of you are shaking your head here. While it is important for QA to be involved from the very beginning on all projects, it is also just as important to have time to work on those projects. Assess what meetings are truly important to your projects and productivity and attend only those. The three hour meetings to discuss button color for the new application is hardly going to increase the productivity of QA. Make sure you ask for an agenda for each meeting you are requested to attend so you can ascertain if this one is for you.
Leave yourself a breadcrumb trail. Be creative and define a method for yourself so that you can determine where you left off should an emergency crop up and cause you to be distracted from testing. Doesn't have to be elaborate, can be as simple as typing a large "X" on the line of the test plan you were working on or some other indication to you personally that will help you to get right back in the game without having to hunt down where you left off.
Have a plan. Take the time to plan out your projects and your working hours and stick to it. It is very easy to get distracted during a busy workday, keep your plan in mind in all you do, in all your interactions and develop personal methods to keep yourself on track.
Work in a lab. Hopefully, your organization has a lab for you to work in, an isolated area where the noise and hustle and bustle of the day to day business activities are outside of earshot and sight. If you don't have one, talk to your manager or team lead and work to build one, it's worth it. This is not to say QA should work in a vacuum, rather, QA needs concentration time that is often impossible to obtain amidst regular business activities.
Kill the IM's. Have the IM on your desktop and not on your lab or testing machines. IM is a fabulous tool to keep me productive in other factors of my work, but when it comes to writing test cases and plans, the less distraction you have from outside influences, the better.
Take a walk. Try taking a short walk in the morning before work starts or some form of exercise, even if it is only twenty minutes. Your body needs that time and exercise, it matters to your overall health and well being. Hard to be productive if you are ill or your body feels neglected.
Take lunch. Most of us get so engrossed with our work, we loose track of time and forget to take even thirty minutes for ourselves to eat and chat with others. Put lunch in your daily plan and take it. Even if it is only thirty minutes, do it and make plans to have lunch with others. Being social and taking some breathing space during the workday is essential for your personal well being and your productivity. Working lunches are great only if you have a light schedule for the day, otherwise, steer clear of them and give yourself a mental and social break. You will be impressed with how positively this impacts your attitude and productivity.
List common distractions. Take a minute or two and think about what distracted you over the past week. Know what the distractions are, write them down. Now make a plan to address those things you feel hampered your productivity. Having a plan to address these things in advance will make you feel more focused and in control of your destiny.
Tear yourself away from email. Again, this is another fabulous tool to increase productivity and by all means, the urgent emails must be addressed. So address those that are critical or urgent and get back to your plan. Leave all the other emails for the end of the day, they can wait until you are done with your testing.
Get out!. Get your team members together and get out at least once a month together where you do not talk about work. being social and building relationships with your team members is a fabulous way to understand one another better. You can talk about work if you must, but be sure to get personal, know who you are working with and maybe make a new friend or two. It doesn't hurt, promise!Hopefully this will help you to have that rock star feeling more often and feel more productive. I have employed these rules to my own day and find I feel much better at the end of the week with a nice list of accomplishments to present to the business. I am not saying any of these are easy, but at least get started and see how much better you feel at the end of the day. Speaking of the end of the day, here is a bonus tip:
BONUS: Take the night off! It is sometimes ever so tempting to work into the evening and at times, you cannot avoid it. Don't make a habit of working overtime if you can avoid it. Your peak hours of productivity are the first six you work each day, anything after that, your effectiveness drops considerably. Consider this and ask yourself if working late is going to accomplish anything more than missing dinner with your family, friends or significant other.

Have a "Rock Star" QA Team with some of these suggestions to get your started.

Monday, September 1, 2008

Functional Test Planning: An Overview

Keep this simple and to the point and you have a guaranteed winner. All too often people get bogged down in detail when making a test plan, I suggest having an overview to eliminate this pitfall. Don't skip the plan, although that is what normally happens when one feels bogged down or overwhelmed. Planning reduces test development time and increases efficiency and coverage. Planning also helps you identify standards and techniques to use when using automation, such as initial and end conditions.

Here is a little checklist that will help you to keep this simple and cover all your bases in your test plan:

  1. Identify the Project Resources. The types of resources you want to identify are subject matter experts (SME), project managers, team leads, functional experts, database experts, other stakeholders (business analysts, etc.).
  2. Identify and Document the Application Under Test. Focus on the application that will be tested. Some examples might be: IE, Firefox and Netscape for the web
    Identify application details that may be relevant to your test (hardware, software,
    client version) and any exceptions (will test on both XP and W2K, etc.).
  3. Identify Scope of Business Processes. Evaluate business processes with respect to business requirements. Ask the questions: Who writes the test cases? How can transactions be linked together? Do they require specific data? Is data passed from one transaction to the next? How much data is required for each process? Document all steps in the business processes that will be automated. This is the point at which the test cases are created. Each test case should include all the user’s steps, sample data values, expected results for each step, and any checkpoints for verification.
  4. Manage Required Data. Identify where the source for valid data will be, who knows what data to use. This step focuses on data management. Data requirements are documented and required data is collected for each test case. Ensure that all data to be used for testing is valid and will not cause any errors during test execution.
  5. Results, Defects, and Changes. Establish a baseline value against which to compare test results. In order to determine what results are to be expected, you need to be able to compare the results of the test with a baseline value that will determine if the system passed or failed the test. These values should be known and documented at this step.
    Organize a system for logging test results and each problems you encounter. Monitor the progress of finding and correcting problems in the system. As a tester, you may need to know where to store tests, now use appropriate naming conventions, document results and defects, and schedule test runs.
  6. Document the Final Test Plan. The contents of the test plan should include the schedule, objectives of the test, what’s in and out of scope for the test, functional testing environment, defect tracking, change management system.
  7. Build The Test Lab and Create Tests. Be sure to include caveats and processes as well as provide this report to those stakeholders who you have identified as those needing or wanting this information. Support of the business and stakeholders is critical to your test, keep everyone in the loop who wants and/or needs to be there.

Saturday, July 12, 2008

Getting Started with your Virtual QA Lab

You love the idea of a virtual QA Lab but wonder how to begin. At the beginning, as with any project, with the high level requirements and the business systems design review. Get your ideas in line with the needs of the business.


Define and Prepare

The solution must be designed to provide stable services to the Quality Assurance and Development Departments by implementing network servers and updated software purchased from approved vendors. This will have direct impact on reducing business risk, increasing availability of the applications in line with current projections for the QA and Development Departments and compliance with SoX audit trail requirements. Not worried about SoX? Someone in your organization will be concerned with audits, be is SoX or something else. Having an audit trail protects the business from anything that may occur in the future so plan for it now.

Anyone for Scope?

Gain a complete understanding of what exists today in your world. Do you have any single point of failures? Lack of failover systems? Operating systems that are not part of a security patching schedule and are therefore out of date posing a security risk. Have the needs and volume changed since the original equipment was put in place? What are those? How do you plan to address that?

The Virtual QA lab will aims to resolve all the outdated and growth issues now and in the future by upgrading hardware, implementing adequate security polices and adding support and training. Be sure your plan:

  • Specifies clearly the needs and offerings.
  • Is clear and focused to avoid misinterpretation.
  • Measureble to be quantified and compared to other data.
  • Attainable: achievable, reasonable, and credible under conditions expected.
  • Realistic: fits into the organization's constraints and is cost effective.
  • Timely.

Phase It!

This is not a simple undertaking for an organization that has not walked down this road before. Avoid the overwhelming feeling by phasing your plan. Make it simple and understandable to avoid the "this is too complex" thoughts your customers have in their minds before it hits their lips.

For example, in the initial phase, new hardware may be purchased and installed in an approved data center. New Application software may be installed and configured. Be sure to include assets and how they will be accommodated.

Be absolutely certain to include savings, this is a critical part of this plan. Include those costs associated with exposure due to outdated and aged out hardware, as well as growth both immediate and in the future.

Get Specific

If you have done your homework up to know, you are fully aware of the pains within the QA organization and the organization overall. Address those pains in specific, real terms. What if you are new or trying to do this as an outside vendor with no specifics? Ask questions! Most clients are more than happy to talk about their pain. They need your help, after all, that is why they are talking to you in the first place. Don't miss any opportunities to learn about the pain and pleasure of the current systems and environments and address them.

Need Help?

Give me a call, an email or contact me in whatever way you feel most comfortable. I am very happy to help and am certain I can be of help to you in your plan. I have implemented this solution ins both large and small organizations and can customize this cost saving solution to fit any environment and company size.

Saturday, June 14, 2008

LoadRunner 9.0 - A Review of What's New

LoadRunner 9.0 is released, debugged and ready to sere the needs of performance testers. It's been out there since August, but had some "issues" that are reportedly fixed. So let's take a look and see what we get!

New Features

The best improvement in VUGen is the most basic and simple - we finally have a FIND feature!
The most notable in VuGen is the user defined Business Process Report in Microsoft Word format, that summarizes the VuGen script for various protocols including the infamous and troublesome Citrix_ICA. This works well, but text would have been a far choice since this is to be a template that is reusable and Word adds extra formatting codes you are going to have to hunt down and get rid of before you can actually use this.

In the Controller, a new scheduler is available with a GUI to actually see the firing off of Vusers to that schedule. This is a help for when you are in the process of taking down a server, you can show it visually to the impacted team with little explanation necessary. One less meeting is always good in testing.

New Functions

Five star new function, IMHO, is at long last, the support for RDP testing with a run time viewer! Now if we could only get the application itself to run with VNC and RDP it would be great!

For you Citrix fans, the new ctrx_execute_on_window function (replaces ctrx_set_exeption) provides for the use if wildcard characters in the window caption, less scripting for you!

The SLA Wizard gives you the opportunity to define performance metrics against established SLAs. Purely a business reporting tool that will help when it is analysis and reporting time, Loadrunner will go out and perform the measurements for you and report them on demand. A great time saver if you are in regression performance testing mode. Works well, I had no issue getting the metrics I asked for even when the SLAs were not possible (negative numbers).

Improved

Java support has been improved, we now have JMS (for Weblogic 8.1, Websphere MQ 6.0 and TIBCO EMS), JACADA and the ability to add custom as always.

Still needs work

The RMI support still needs work if we are going to use it without winsockets. I know the technology is old school, but we have tons of legacy apps alive and well that use this function.

Visual Studio integration is still not quite there. You will find some of the old errors and mis configurations still exist.



=============================================
Citrix

Citrix Vuser scripts emulate the Citrix ICA protocol communication between a Citrix client and server.

  • Improved script replay stability and predictability.
  • New bitmap synchronization replay error management compares bitmap synchronization errors as they occur, and adds the necessary changes to the the script in a single click.
  • Improved text trapping and text synchronization algorithm, including showing the synchronization area in a snapshot.
  • Improved tree view, including replay snapshots and additional options in the context menu.
  • New ctrx_execute_on_window function (replaces ctrx_set_exeption) enables usage of wildcard characters (*) in the window caption.
  • Supports Metaframe server 3.0 and Metaframe server 4.0
  • Supports Citrix client 9.x and 10.0
WAP
  • Supports recording using the new multi-protocol mechanism.
  • Records any type of WAP application/simulator.
  • VuGen automatically recognizes the application/simulator settings and uses them during recording.
  • Supports WSP, HTTP proxy, and HTTP direct modes as configured in the application/simulator.
Winsocket

Added support for SSL and UDP.

Mailing Services

Added SSL support for LDAP, FTP, POP3, SMTP & IMAP protocols.

Microsoft Visual Studio 2005 Add-In

Full support for creating, replaying, and debugging scripts from Microsoft Visual Studio 2005 - C#, VB.NET or C++.




Friday, May 23, 2008

Debunking The Cost Of Quality And Productivity

I hear an awful about the cost of quality and how it impacts production in such negative terms. I thought maybe it's time to debunk the myth that investing in quality negatively impacts production.

Quantify This

the cost of quality is not defined as the expenses in creating, deploying and supporting a quality system as most think. It is rather the cost of not adopting a program. How much does it cost you to loose a contract for low quality? What does that do to your credibility? How does your bottom line suffer from your inability to gain more customers and secure more contracts? Actions speak a lot louder than words, as do bottom line realizations.

So, how much does it really cost?

It is a well know fact that poor quality costs the average business 15 to 30% because its product or service was not done right in the first place. So what is in the 15-30%? Rework, returns and big dollars. Is it worth the risk of loosing 15 or 30% for low quality? I am sure each of you can find something better to spend that money on.

1-10-100

So how much does a quality program really cost? An accurate rule of thumb suggests that a quality problem costing $100 to resolve in the field would cost only $10 to correct if discovered during design review and merely $1 to prevent in the first place. Surely, your reputation and bottom line are worth a dollar. There are four basic areas that will need your attention in developing your cost of implementing quality are Prevention, Inspection or Appraisal, Internal failure and the dreaded External failure cost. That makes them about a quarter each, a bargain at twice the price!

Investment

You have invested in the best machines, hired the brightest and smartest programmers in the industry to work on what you believe, it the best product or service around. I know you believe that or you would not get up every morning to go in to work. With all your dedication, hard work and effort, your investments are depreciating by the hour and being over utilized to clean up the mistakes made. This is a vicious cycle that feeds itself, the harder you work, the more you push, the deeper you get. Would you like a return on this investment? Quality programs actually appreciate with time. Your initial dollar ends up being two dollars in a year!

Lessons Learned

In conclusion, it is fair to say that we have witnessed quite a few failures recently due to poor quality programs. Had Mattel implemented quality standards into their contract with the firm who manufactured the toys that are responsible for the death of children with high lead levels, their stock would be riding high. Imagine if Topps had done better inspections of the beef and internal process checks, they might still be in business today instead of bankruptcy court. The cost of poor quality is high on many levels. It's worth a dollar.

Tuesday, April 1, 2008

LEAN Software Quality Assurance

Quality Assurance is perceived as an extra, as overhead and generally, a cost center. To some extent, this is true. It is an investment in the long term and quality of your product or service in where the value can come back to you in any number of ways and most are not immediate or instant. Let's take a look at applying LEAN principles to Quality Assurance and see if we can improve it just a little. [more]

Friday, February 29, 2008

Agile and Free to Learn Tools in the Dot Net Arena

Agile development and test have finally arrived in the .dotNet programming environment, just as the open source movement has entered into the commercial development of Microsoft and some other top tier software organizations. Typically, dotNet has been solely a development tool with very few quality tools to speak of in any real terms. Quality teams have been almost isolated and collaboration between development and quality assurance are tenuous at best, which is quite the standard in traditional development environments. There is now an opportunity emerging with the launch of Visual Studio 8.0 to a more agile and cooperative team environment.

Development tools for building both desktop and team-based enterprise Web applications are standard for this and many other IDE’s on the market. What this release has to offer is providing the testers the ability to collaborate and fine tune those applications in real and measurable terms. Testers have available to them a complete studio of tools in the Test Edition of Visual Studio 8.0 that are integrated into the development environment including unit, Web, load, manual and code coverage tests. In the past, the use of the Web Application Stress Tool was the only opportunity in this space for configurable load and performance testing of applications. While this tool was effective, it did take a fair amount of expertise in the tool itself as well as load testing in general. This was time consuming and did not lend itself to rapid development and as such, was relegated to the luxury bin and rarely performed well, if at all. Much of the guesswork and pain of learning a new tool is alleviated in a familiar interface and standard toolbars in this tool.

The challenges facing quality assurance in the testing of web based applications has been addressed with the advent of the WebTesting namespace that provides specific classes to enable Web testing. The base class for all web tests is the WebTest class, which is available out-of-the-box as are the classes WebTestRequest and WebTestResponse classes for simulating HTTP requests and responses. Gone are the days of hand coding tests for http responses and posts, this is now a point and click operation with an expert view if you feel so inclined.

Building and testing high-performing desktop applications in a simple team-based design enables swift and high quality applications and deployment of enterprise solutions. Add the ability to communicate and provide to the development team valid and reproducible errors seamlessly and you have the pure divinity of agile. The opportunity to learn the functionality of this tool are available at no cost on the educational portion of the developer network site called channel 8, also known as DreamSpark to students everywhere. You can download the tools below at no cost: Channel 8, DreamSpark, Test Center 90 day Trial Download.