Testing in DarkAges!

Why did I use Risk-Based Testing in my project

{ 03:55, 2009-May-13 } { Posted in Software Testing } { 0 comments } { 156 trackbacks } { Link }

 

As Test Practitioners, one thing that we all may agree upon is that there is no silver bullet to avoid the squeezing testing timelines when it comes to project schedule.  Scope-creep in projects is almost predestined. Let me ask you a question. As a Test Manager, how many times have you come across the situation where the Project Manager walks up to you and asks you a little favor, “can we finish testing with lesser number of resources” or “can the testing be finished a little earlier” or “I know this is kind of late, but can we include this module too”; and in most cases the first thing you say is, “let me check”.

 

This ‘check’ has to be quick; and it should just not be based on assumptions, rather on measured inputs. ‘Something’ has to be in place somewhere throughout the testing life cycle which allows us to quickly adapt to the changed scope without risking the quality of testing and the delivery. Risk based testing is one such ‘something’ that assists testing teams in prioritizing the test deliverables conforming to the project plans.

 

What I am saying here is an overview of risk based testing; proposing it as a tool to shield yourself and your teams from the ever-changing requirements, scope-creeps and last minute surprises. Since a lot has already been written about Risk Based Testing, risk definition, risk identification, risk assessment and risk mitigation process, I don't think we need to discuss it here.

 

All that I am mentioning here is basically a case study based on the system integration testing phases of the programme for implementing a common HR Integration System across all branches of the company using PeopleSoft. The HR system was based on customization of PeopleSoft as per the HR policies prevailing & impacting a particular branch of the company in that country. 

 

Considering multiple implementations with overlapping phases and more than one project plans, a risk based approach to testing was adopted. Focus was on prioritization & reusability and test artifacts were shaped considering these. 

 

To further buttress this approach, every module of PeopleSoft was given a priority after discussion with the respective project manager.  Once this base was prepared, timelines for testing as estimated by the Test Manager were mapped with the respective modules. As & when there was a change in project scope, minor changes in the matrices produced a new version of testing schedule, which was publicized to the whole group.

 

The Risk Based Testing approach proved highly beneficial to the project and testing team could successfully manage the scope changes throughout without bringing down the quality or morale of the team. Well done Team!

 



Interactive Web: Does it require different Test strategies?

{ 03:59, 2008-Nov-9 } { Posted in Software Testing } { 0 comments } { 0 trackbacks } { Link }

 

Another discussion among the team members provoked some more thoughts about Web2.0. Rohit made a list of items of web 2.0 that may require additional testing. My point is, we may have to work altogether in a different way to make our testing effective in an environment which is very dynamic and keeps on changing. 

 

For example, we all visit various news sites and content has to change every few minutes or hours. Now, it demands a very efficient & effective testing. In fact, Intercative Web has brought forth a dynamic web experience to the end users.

 

Web end-users are impatient and they demand and have access to a web world full of options. Even the smallest failure in providing a superlative functionality, performance, security, consistency, speed and reliability to the end user may lead to undesirable revenue losses, loss of reputation and increased support costs. With the aim of offering the user a consummate web experience, extensive new testing strategies and processes need to be exercised that would accommodate the requirements of Interactive Web.

 

So what is so different in Interactive Web?

 

Some of the key aspects of Interactive Web that require additional testing attention are –

  • The ever changing nature of Interactive Web applications makes extensive unit testing nearly impossible.
  • Testing should suffice for every rapid change, seasonal update and user input data.
  • Tight coupling between design and code, increased complexity of code integration from various sources, varying serialization or encoding schemes need to be considered in testing.
  • Developers get a lot of liberty of playing around with the code, and they take their liberty in how they communicate between the client and the server, and this is an important coverage factor in testing.
  • Aspects of Third Party dependencies like CSS Stylesheets, Javascript Libraries, CMS, CDNs, Adservers, Media Servers, Web Analytics, News Feeds etc also demand extensive coverage while testing.
  • Emerging new technologies like Aggregators, Wikis, Folksonomy, Videocasting, Podcasting, SVG (Scalable Vector Graphics), OpenAPIs, Microformats, Syndication, UMTS (Universal Mobile Telecommunications System) etc need to be covered for efficient testing.
  • Intra-object, inter-object and inter-client dependencies and various data interactions need to be tested in order to test the dynamic behaviour of the web content.
  • High Web-UI implementations and Java Script dependencies needs to be tested.
  • Different browsers render AJAX differently or may not support AJAX altogether.
  • Testing needs to cover varying ISPs, connection speeds and end-user platforms.
  • Bandwidth requirements for Interactive Web applications are high.
  • Load on the servers varies for peak hours and different geographies.
  • Because of high and easy accessibility, high security risks are involved.

Considering this list, new testing strategies and approaches need to be considered and implemented in order to provide an extensive testing coverage and superior defect prevention in testing these applications optimally.



Test Case Self review checklist

{ 05:09, 2008-Sep-13 } { Posted in Software Testing } { 0 comments } { 2271 trackbacks } { Link }

In our project, we made it mandatory to self-review the test cases one is writing. Even though peer review was in process, we embraced this practice to make sure we do not get review defects. It was a good decision and we could ward off major defects due to this. I would like to give the credit to Rex Black as he is the one who always encouraged use of checklists. I am attaching the checklist here. I do not think it is a copyright item. You may use it or edit it the way you want. Afterall, it was created in MS Excel.

# Self Review Checklist Yes/No
1 Spell Check was run  
2 Grouping of Test cases along the scenario checked  
3 Test Status updated  
4 Document Control section properly filled  
5 Requirement ID is filled against each Test Case  
6 Test Case ID column is properly numbered  
7 Page Setup has been checked using Zoom option:
- Page Margins are set to adjust the text
- Filled sections are bordered in 'Black' color
- Row & Column spacing is justified
 
8 Fonts Consistent  
9 Metrics sheet is reflecting the actual number, if not update the sheet consulting TL  
10 Test cases which are changed / modified in particular version are changed to 'Light Blue' font color  
11 Test cases with pending queries are highlighted with 'Gold' highlighter  
12 Prerequisites are filled wherever applicable  
13 Navigations are specified if present in the requirement document  
14 Test Data is filled wherever applicable.  



Tester's Competencies

{ 04:20, 2008-Aug-4 } { Posted in Software Testing } { 0 comments } { 24 trackbacks } { Link }

 

My boss asked me to prepare a list of competencies that we want to see in the people we hire. I segregated the list in three main categories:

1. Ability

2. Knowledge

3. Skill

I did not further segregated the list. However, it could have been done for the number of years of experience the tester has, or as per the role someone is playing etc. 

Ability  Knowledge Skills:
Documentation of procedures, processes, and results. Windows Project management
Ethics UNIX Technical and functional skills
Adaptability Solaris Written communication
To meet deadlines and multi-task Linux Test Planning
Attention to detail Java Test Estimation
Problem solving Web Development QTP
Analytical abilities Relational databases WinRunner
Interpersonal skills like resolving conflicts Mainframes Rational Clear Case
Dependability Domain knowledge/expertise in Financial, Telecom, Insurance, Government, Retail, Banking, Telephony Rational ClearQuest
Professionalism Knowledge of quality assurance methodologies. Rational Robot
Leadership Change management / Configuration Management LoadRunner
Motivation Quality management Oracle8/9/10/11i
Initiative Automation TOAD
Innovation Performance Testing DB2
Punctuality Database Systems MySQL
Diversity Browser Testing .Net
Organizational support (Follows policies and procedures) Security Testing Test Management
Judgment UAT Defect Management
Commitment to Client service OAT Test Execution
Creative   SAP Testing
Cost consciousness   Oracle Apps Testing
Business acumen   Mercury Quality Center
Quantity   SOA Testing
Teamwork   SilkTest
Oral communication   EggPlant
    Compuware
    Jmeter
    Junit
    Nunit
    OpenSTA
    Selenium



Checklist for beginning your test effort

{ 04:19, 2007-Oct-15 } { Posted in Software Testing } { 0 comments } { 0 trackbacks } { Link }

 

This is one of the checklists that I used during testing of one of my assignments. It proved quite useful for me and the project. I do not think it is a copyright material so you can use it whenever you want to. You may also modified as per your needs.

 

#

Project Completion Activities

Status

Remarks

1.        

Requirement Documents available

 

 

2.        

Test Schedule, Test Conditions, Test Cases created / reviewed and available in Shared Server/ Mercury Quality Center

 

 

3.        

All the review defects are closed

 

 

4.        

Test environment ready and smoke tested

 

 

5.        

QA Test Strategy Complete

 

 

6.        

Test reporting and tracking sheets defined and updated with changes necessary during functional testing

 

 

7.        

All functional test resources identified (e.g. the Test Executors)

 

 

8.        

All test resources have been adequately trained to execute tests

 

 

9.        

Smoke test activity with covered areas clearly Planned

 

 

10.    

Regression test activity with covered areas clearly Planned

 

 

11.    

QA summary report prepared

 

 



Testing CoE - 3

{ 03:30, 2007-Feb-15 } { Posted in Software Testing } { 0 comments } { 0 trackbacks } { Link }

How does a TCoE help or contribute to the parent organization?

 

Testing CoEs are consisting of testing experts from various domains, various technologies and various methodologies. With a common pool of professionals and master of their respective fields, parent organization finds is easier to take up n-number of assignments. It becomes easier for Sales organization to respond to prospective clients’ questions. This common pool of people also strengthens the saleability (I am not sure if this word exists in English language) of organization’s offerings to the clients, which, in turn, results in a good return on the Investment made on keeping the pool of experts.

 

How does a TCoE help or contribute to the client organization?

 

Since TCoE is a group of skilled people in respective technologies, domains, Business area and carry a lot of experience collectively; they bring success to client they serve and also bring continuous improvement to their processes.

 

Also, a TCoE can provide all kind of testing solutions and services to the clients who may be getting services from multiple clients. Now, since only one vendor is providing all services, this also brings in more operational effectiveness and efficiency.

 

Further, this single group becomes responsible for the overall success of the venture and because they belong to a group, they have better coordination among them; which, eventually results in saving on time and money.

The expertise a TCoE brings along, also helps & motivates them to look for more innovative ideas to serve to all testing requirements of their customers.

There is no doubt that a Testing Center of Excellence is a focused group of skilled individuals who increase the efficiency and profitability of their parent organization and also bring multiple benefits to client organizations.

 



Testing CoE - 2

{ 03:22, 2007-Feb-15 } { Posted in Software Testing } { 0 comments } { 0 trackbacks } { Link }

The attached image shows a basic overview of a Testing CoE. The Organizational structure might differ in your organization.

 

 



Testing CoE - 1

{ 03:18, 2007-Feb-15 } { Posted in Software Testing } { 0 comments } { 0 trackbacks } { Link }

 

Some freshers asked me what is a Competency Center or a Center of Excellence and what it does. I can understand that for many it is still a vague term and does not make much sense except that it is group of people of similar technical competencies who meet often, prepare presentations etc. etc. Up to an extent, it is true. And in fact, I have seen different variations of CoE in different organizations I have worked with. Well, I cannot really describe all those here.

 

A Center of Excellence is a group of people of varied technical competencies that work as a team and towards a goal of leveraging their competencies across the organization for different engagements.  In this article, we will be focusing on Testing Center of Excellence (TCoE).

 

The Testing CoE Organization

 

A Testing Center of Excellence centralizes all testing resources, their capabilities and the processes in order to provide one-stop shop experience to different engagements of the organization.

 

A TCoE not only brings the human capabilities together, it also centralizes various testing methodologies and processes spread across different engagements of the organization. This provides the organization an edge over other organizations that do not have a group specifically working as a team towards achieving an objective. On the other hand, clients of a CoE get the benefit of getting best services from spe******ts of a particular domain.

 

A TCoE is normally consists of following:

  1. People
  2. Automation Tools
  3. Domain Expertise
  4. Policies & Processes
  5. Best Practices Databases

Since People make the most important part of the CoE, this group may include:

  • Head of Testing Division
  • Test Managers
  • Test Architects
  • Test Automation Experts
  • Test Leads
  • Domain Experts

The CoE group may or may not have a coordinator depending upon the requirement and the size of the organization.  If there is a need of coordinating various activities of the Testing within the division or the organization, a Test Coordinator works as a facilitator for those divisions to achieve the common objective.

 

About Test Team Members, they are not directly involved with TCoE, but they are involved in dotted lines and whenever there is a need of some specialization that is available among team members, it can be used.



Mobile Application Testing: Overview

{ 10:46, 2006-May-8 } { Posted in Software Testing } { 0 comments } { Link }

Mobile applications bring with them a different kind of complexity or nature. They are not similar to desktop applications which are much simpler considering their architectures, accessibility, tools available for their testing etc. To know what makes Mobile testing different and what should be kept in mind while testing mobile applications, read on...

 

1. Mobile Devices: What kind of mobile devices are available in market:

      Cell phone

      Smart phones

      PDAs/ Pocket PCs

      GPS navigators

The list is longer than what we see here.

 

2. What are the Operating systems available:

 

This list is not as big as the ones we have for Desktop applications. The Operating Systems available for mobiles devices are:

      Palm OS

      Windows Mobile CE, 2003, 2005

      Symbian series 60, 80 and UIQ

      Blackberry

      PocketPC

 

3. What are the major issues in Mobile application testing?

 

         More mature mobile devices = more complex applications

         Large number & types of mobile devices

         Large number & types of mobile applications

         Small screens & keyboards

         Usage by non-technical users

         Limited memory & other resources

         Network issues

         Compatibility issues

         Security issues

 

Some Major issues like:

·       It is no longer just firmware; it’s now an OS, browser, and even an application runtime layer (Brew or JAVA enabled phones)

·       Less number of QA tools unlike desktop applications where a large number of commercial and open-source tools are available for assistance in testing effort.

 

4. Expectations from Test Engineers:

 

Some relevant hardware experience
Some relevant communications experience

Some relevant programming language experience

 

5. What are the areas that need testing in mobile applications?

 

User Interface
Usability
interoperability test
Performance
Resources like memory leakage
Security
Field
 

 

6. Now the question is, how do you test such applications?

 

You test mobile applications by:

 

•Using emulators or simulators
•Manually on devices
•Using tools like mVerify, WinRunner, TestQuestPro, CountDown etc.

 

Unfortunately all these do not fit well in all scenarios and you may need separate tools for separate OSs.

 

7. Is there some support available from outside world?

 

Answer is No. We still do not have any contact with aliens from other Planets or Universes and hence, no assistance available from outside world.

 

However, one can get some assistance within this world.

 

Some companies like Infostretch & Mobilecomplete provide testing services through Internet. They offer mobile testing services using remote testing capability on real handset devices that helps to verify the real user experience. Mostly, live networks are available for this type of testing.

 

8. What else? Any new technologies?

 

Yes.

 

Direct-To-Device™ Technology:

 

It enables full over-the-Internet interaction with actual physical handsets connected to live networks from any location in real-time. It utilizes an electrical integration approach in which electrical connections are made to various input/output interfaces of live handsets.

 

Virtual-Device™ Technology:

 

Virtual-Device builds upon Direct-To-Device by actively stimulating the remote handset access software to create a software map of all possible pathways that a user can take through a handset or through any application or service accessible on or via a handset.  This software map is essentially a ‘virtual phone’ consisting of large sequences of the phone’s screens along with data about the keystrokes or screen taps that are needed to navigate across these screens.

 

9. What is the key to success for this type of testing?

 

The key is to know:

The audience,
The user base
The application requirements and
The infrastructure

 



{ Last Page } { Page 2 of 2 } { Next Page }

About Me

Home
My Profile
Archives
Friends
My Photo Album

«  May 2012  »
MonTueWedThuFriSatSun
 123456
78910111213
14151617181920
21222324252627
28293031 

Links

Home
SQAForums
Wikipedia
Techieminds
Jake Brake on Sqablogs
www.satisfice.com
James Bach's Blog
stickyminds
Cem Kaner
AST

Categories

General
My Fav Books
Software Testing
Travel

Recent Entries

After a long time..
Empower your tester
Bug in the men's room
it's been a long time..
Exploratory testing

Friends

LauraScharp
strazzerj
qmetry3
rockford