Software Test Plan and Design

Test Planning

The test planning stage represents the need to review long-lead-time test planning activities. During this phase, the test team identifies test procedure creation standards and guidelines; hardware, software, and network required to support test environment; test data requirements; a preliminary test schedule; performance measure requirements; a procedure to control test configuration and environment; as well as defect-tracking procedure(s) and associated tracking tool(s).

The test plan contains the results of each preliminary phase of the structured test methodology (ATLM). The test plan will define roles and responsibilities, project test schedule, test planning and design activities, test environment preparation, test risks and contingencies, and acceptable level of thoroughness ( test acceptance criteria). Test plan appendices may include test procedures, naming conventions, test procedure format standards, and a test procedure traceability matrix.

The test environment setup is part of test planning. It represents the need to plan, track, and manage test environment setup activities, where material procurements may have long lead times. The test team needs to schedule and track environment setup activities; install test environment hardware, software, and network resources; integrate and install test environment resources; obtain/refine test databases; and develop environment setup scripts and test bed scripts.

Test Design

The test design component addresses the need to define the number of tests to be performed, the ways that testing will be approached (paths, functions), and the test conditions that need to be exercised. Test design standards need to be defined and followed.

An effective test program, incorporating the automation of software testing, involves a mini-development lifecycle of its own, complete with strategy and goal planning, test requirement definition, analysis, design, and coding. Similar to software application development, test requirements must be specified before test design is constructed. Test requirements need to be clearly defined and documented, so that all project personnel will understand the basis of the test effort. Test requirements are defined within requirement statements as an outcome of test requirement analysis.

After test requirements have been derived using the described techniques, test procedure design can begin. Test procedure design consists of the definition of logical groups of test procedures and a naming convention for the suite of test procedures. With a test procedure definition in place, each test procedure is then identified as either an automated or a manual test. During the test planning phase, the test team gets an understanding of the number of test techniques being employed and an estimate for the number of test procedures that will be required. The test team also will have an estimate of the number of test procedures that will need to be performed manually, as well as with an automated test tool.

eBay and PayPal – Your EBusiness Test-Bed?

Taken together…
eBay and PayPal offer the ideal environment for you to think out, test and then launch your on-line shop.

You can use the auction facilities – perhaps on a fixed price basis – to:

Test your market
Set up your sourcing and dispatch processes
Train yourself and your staff to deal with the inevitable queries and issues arising
Build up your turn over and on-line reputation
Trade in the weeks and months before Google and the others eventually find you.
In fact, many on-line traders never move on!

You may be old enough…
like me, to remember the original eBay launch back in 1995 as an occasional one-to-one on-line market place, and in essence unsuited to a real on-line business launch, but things have moved on since then.

There are now four different auction formats, some of them not auctions at all:

The classic sell-to-the-highest-bidder auction,
The sell-to-the-highest-bidder auction with a reserve price below which you will not sell,
Fixed price Buy-it-now sales,
A combination auction allowing sell-to-the-highest-bidder with a buy-it-now option
Together with specialist areas like car and property sales.

Getting Paid
Having sold your goods or services, you will want your money and eBay makes that simple through its PayPal subsidiary.

eBay requires everyone using the site to have a PayPal account, which is of great advantage to the seller in particular. PayPal processes – for a fee – all of your sales and deposits your funds into your bank or credit card account.

PayPal setup is quick and almost instant.

The original occasional sales’ model still exists…
but many people use it – particularly the ‘Fixed price Buy-it-now’ sales option – to trade on a continuous or regular basis marketplace.

Ideally, once you have a grip on the whole sales process, you can move on to your own shop on eBay, or even on one of the many eCommerce sites on the market.

eBay with PayPal is an effective way to test your business model and dip your toe into on-line business.

Many of us would find eBay an unsatisfactory medium for our business plans, but at the very least it supplies the budding entrepreneur with a test bed for our ideas and ambitions. That said it is an effective and low cost test bed for our business ideas, and a method of trading through the delays and possible expense inherent in search engine marketing.

Starting a new business is an adventure and even the best adventures are fraught with risks. [] is a wiki site helping you to assess your financial and reputational risks and providing the tools to minimise them.

We separate your Start-Up into 3 processes, Planning, Launching and Going On-Line and lead you through each at the level of detail you feel appropriate.

All About Performance Testing – The Best Acceptance Criteria

First of all, let us see what is the meaning of the term “Performance Testing”:

For general engineering practice, “Performance Testing” refers to evaluation & measurement of functional characteristics of an individual, a system, a product or any material.

However in software industry parlance, the term “Performance Testing” widely refers to the evaluation & measurement of functional effectiveness of a software system or a component, as regards its reliability, scalability, efficiency, interoperability & its stability under load.

These days a new science by the name “Performance Engineering” is emerging in IT industry & Performance Testing / Acceptance Testing are being viewed as its subsets. The performance engineering lays prime emphasis on covering the performance aspects in the system design itself i.e. right from the beginning & more important is that well before the start of actual coding.

Why Software Industry lays so much emphasis on Performance Testing:

The key reasons are:

1) Performance has become the key indicator of product quality and acceptance consideration nowadays in a highly dynamic & competitive market.
2) Customers are becoming extremely demanding on quality front & have clear vision of their performance objectives.
3) These days, every customer is looking for greater speed, scalability, reliability, efficiency & endurance of all applications – may it be multi tier applications, web based applications or client server applications etc. etc.
4) Greater need for identifying & eliminating the performance inhibiting factors early during the development cycle. It is best to initiate the performance testing efforts right from the beginning of the development project & these remain active till final deployment.

What are the objectives of Performance Testing?

1) To carry out root cause analysis of performance related common & uncommon problems & devise plans to tackle them.
2) To reduce the response time of the application with minimal investment on hardware.
3) To identify the problems causing the malfunctioning of the system & fix them well before the production run. Problems remedied during later stages of production have high cost tags attached to them.
4) Benchmarking of the applications, with a view to refine the company’s strategy towards software acquisition for the next time.
5) To ensure that the new system conforms to the specified performance criteria.
6) To draw a comparison among performance of two or more systems.

Typical Structure of a Performance Testing Model:

Step-1: Collection of Requirements – The most important step & the backbone of performance test model
Step-2: System Study.
Step-3: Design of Testing Strategies – Can include the following.

a) Preparation of traversal documents.
b) Scripting Work.
c) Setting up of test environment.
d) Deployment of monitors.

Step-4: Test Runs can cover the following

a) Baseline Test Run
b) Enhancement Test Run
c) Diagnostic Test Run

Step-5: Analysis & preparation of an interim report.
Step-6: Implementation of recommendations from step-5.
Step-7: Preparation of a Finalized Report.

Attributes of a Good Performance Testing setup:

1) Availability of a performance baseline document detailing the present performance of the system & acting as an effective baseline, which can be used in regression testing. This baseline document can be conveniently used to compare the expectations when the system conditions happen to change.
2) Performance test beds & test environment should be separate & must replicate the live production environment as far as possible.
3) Performance testing environment should not be coupled with the development environment.
4) Resources leading to fulfillment of objectives like:

# Deployment of personnel with sound knowledge
# Systematic & deliberate planning
# Study of existing infrastructure
# Proper preparation
# Systematic execution
# Scientific analysis
# Effective reporting

However these days many companies have started doing part of the testing under the live environment, This helps them in establishing points of differences experienced during test & live systems.

How to gear up for Performance Testing?

1) Define the performance conditions: First of all we need to define performance conditions related to functional requirements like speed, accuracy & consumption of resources. Resources can be like memory requirements, storage space requirements & bandwidth of the communication system etc. etc.
2) Study the operational profile: The operational profile contains details of usage patterns and environment of the live system. It includes description of the period of operation, the operating environment, quantum of loads & expected transactions etc. When exact data is not available, the data from the testing profiles can be approximated especially when testing is not being done under the live environment.
3) Prepare good performance test cases: While designing performance test cases, our endeavor must be to

a) Understand the present performance levels & to use this information for benchmarking at a later date.
b) Evaluate the performance requirements of the system against the specified norms.
c) Clearly specify the system inputs and the expected outputs, when the system is subjected to the defined load conditions like profile of the test, test environment & the test duration etc.

Ways of doing Performance Testing:

Conventionally there are two methods of performance testing like

1) Manual performance testing
2) Automated performance testing

1) Manual Performance Testing: In order to develop an adequate confidence, the response times being a good indicator of performance of a transaction must be measured several times during the test. Use of stopwatches monitored by many persons is one of the oldest & effective way to measure the test performance. Depending upon the available infrastructure, other means can also be devised.
2) Automated Performance Testing: Many approaches can be practiced here. We can use the automation software which can simulate the users actions & can simultaneously record the response times & various system parameters like access of storage discs, usage of memory & queue length for various messages etc. etc.

We can provide additional data load over the system, through many utility programs, message replication programs, batch files & many protocols analyzing tools etc.

Important Considerations for Designing Good Performance Test Cases:

1) Stress: To take care of the ability of a system or its component to move beyond the specified limits of performance requirements.
2) Capacity: To cover the maximum amounts which can be contained, or produced, or completely fully occupy the entity.
3) Efficiency: To take care of the desired efficiency measured as the ratio of volume of data processed to the amount of resources consumed for the particular processing.
4) Response time: To take care of the specified requirements of response time i.e. the total time elapsed between the event of initiation of request to the receipt of response.
5) Reliability: Must be able to deliver the expected results with sufficient consistency.
6) Bandwidth: Must be able to measure & evaluate the bandwidth requirements i.e. the amount of data passing across the system.
7) Security: Must be able to evaluate the user confidentiality, access permissions & data integrity considerations in the system.
8) Recovery: Must be able to subject the system under test to higher loads, and measure the time it takes to the normal situation after withdrawal of loads.
9) Scalability: Must be able to handle more loads by the addition of more hardware elements components without any coding change.

Comparing Beds Is the Key to Finding the Right One for You

Buying a bed is an important task, not only are you buying something that you will use daily but your decision can have far reaching consequences such as affecting your health as well. A good bed is one that supports our body’s shape and form but is also comfortable enough for us to be able to get plenty of restful sleep.

When buying a bed we shouldn’t be letting details such as the price govern our buying decision as not everyone is alike and what is right for one person may not be right for the other. There is only one way to find the right bed for you and that is to test them out and compare them yourself. It is only by lying on the bed that you will get an impression of how it feels and whether you will be comfortable sleeping on it every night.

In most bed shops you will find a large amount of mattresses on show and they are there to be tested. Forget experiences as a child where your parents may have told you not to climb on the beds in the shop, now you are hopefully mature enough to test beds properly by lying on them. The key point to bear in mind is that you should lie on the bed as you would normally, shops don’t mind if you lie on them for ten or even fifteen minutes as this can help you see if you can get comfortable lying down and to even test out different sleeping positions.

If you are buying a double or king size bed then it is advisable to test out the mattress with the person you sleep with as this should give you an idea of whether there is enough space and if one person moves then the other shouldn’t be affected, which can help avoid any late night elbows and nudges that could cause some arguments come the morning!

There are many different types of mattress available now with different spring layouts and constructions, there are even memory foam mattresses now that adapt to your body shape but again, this isn’t always to everyone’s liking as these mattresses can have reduced air flow around the body which can mean you could get quite warm in bed. For allergy sufferers there are now latex mattresses that are kinder to people with dust mite allergies so it is worthwhile testing these mattress types as well if you could benefit from their features.

How to Buy a Mattress: Tips on Beds and Mattresses

Beds and mattresses are the most important items of furniture in your home, and when you buy a mattress, this could be your most important purchase after your home itself. You will spend more time on your mattress, than on any other item of furniture in your entire home or office. It is not surprising that you are recommended to take time before making your choice, yet many people simply lie down for a few seconds and decide that it’s fine.

You will spend 6-8 hours a night on your bed or mattress, likely longer when you are newly married, and your kids will be conceived on it – perhaps even born on it – and they will then jump and bounce on it as they grow up: all during the 7-10 years lifespan of the average mattress. Should you not, therefore, spend more than just a few seconds in making your choice before you buy a mattress? Here are a few tips to help you choose.

Choosing a Bed

The bed will possibly come with the rest of your bedroom furniture if you purchase a complete set. If not, then you will do as most others do, and buy it separately. It is common practice today for people to purchase beds and mattresses together, but if you do that then do not simply take the mattress that comes with the bed – more on that later.

You will likely choose a bed to suit the general decor of your bedroom and its existing furniture. You might prefer a bed with underbed storage drawers, which are useful for the sheets, blankets and other bedding. Kids tend to use them for toys and books, but we shall restrict ourselves to adults here – although don’t forget that your child will also need a comfortable mattress to sleep on.

The larger the bed, the less likely partners are to disturb each other – but the more room they take and the more expensive they are. Make sure that the bed is suitable for your mattress, and never buy either before making sure that the two are compatible.

Beds and Mattresses Together

Between beds and mattresses, the mattress is the more important of the two. It is not strictly true to state that the bed doesn’t matter, and that the mattress will be comfortable even on a concrete base. This may be the case for a good, expensive mattress, but the bed also generally has a part to play. However, if you select the right mattress, then your choice of bed is much easier.

Make sure that the height suits you and your partner if you have one, and that you can get out of bed and stand up easily. Many elderly people, and those with arthritis or any muscular or skeletal problems, might find it difficult to stand up if the bed is too low. Naturally, this height will be a combination of the height of the bed and thickness of the mattress. That is one reason why it is important to test beds and mattresses together.

Buy a Mattress – But Test it First

Some stores specialize in mattresses, while many sell beds with the mattress that comes with it. You cannot always test your new bed and mattress together, although if it is possible to do so, then that is the best way to check out the whole package.

Do you remember when the base of the bed was sprung in a metal framework and the mattress was nothing more than a thickly filled quilt – feathers if we were rich? Mmm… maybe not! These were the good old days!

Today we have to tolerate fabulously comfortable mattresses made from springs covered in layers of comfort padding and foam. Memory foam conforms to the shape of your body when it warms up, and molds into your shape. That’s one reason for testing a bed for around 15 minutes. You and your partner can move around without affecting each other’s sleep.

Don’t worry about the 15 minute test – the assistants in any good bedding store will be used to it before you buy a mattress – in fact they will expect it and will realize you know your beds if you do! So if you and your partner test the mattress for long enough to get any memory foam working, and move around to find out how your movements affect each other, you will be in a good position to make a decision.

It is important to buy beds and mattresses together, and also to test them together if you can. Never buy a mattress online unless it has a 100% guarantee against you not liking it. Don’t ever forget that you will spend more time on your mattress than any other furniture in your home – even longer than you will spend standing in your shoes!