Some words about testing

It happens quite often that people say there is a bug, but they just misconfigured vm.
When you test the template system, please read Hints for the use of the template system
When you want to test the checkout, be sure that you configured a paymentmethod, a shipper and a shippingrate.
Often people think that VM calculates wrong prices, but forget to consider that the product costprice, the calculation rules and displayed prices can have different currencies.

When you tested a feature or view completly without finding a bug, please note the used revision behind the headline. For example Manufacturer (view=manufacturer) last tested rev. 3068

System Requirements:

It is useful to test virtuemart installed in a subdirectory of your http directory. For example localhost/vm2. This is for testing if the pathing is working correct.

Use joomla 1.5 (latest)

As tester you should have installed your joomla with a custom prefix (not jos_) this quite important to find tables with hardcoded prefix.

Use different browsers. Virtuemart should work without glitches at least on IE8, FF, chrome, safari and opera.

Remember that testers and developers must install jdump*


Test installer with and without sample data.
Test the All-in-one Modules and Plugin installer.


Test the frontend with java script enabled and disabled.
Test what happens, when you change the post data. For example when you remove it, or enter a product which is not published.
Test the frontend as anonymous and registered shopper.
Consider testing with SEO enabled, that the bug maybe in the SEO feature. So when you find a bug with SEO enabled, test it also without SEO enabled. Consider that,
  • SEO is a cosmetical feature and can be broken and fixed again easily
  • It can easily happen that a feature is working, but just not with SEO

Backend Testing

The relative url /administrator/index.php?option=com_virtuemart&view=config means that it points to the Backend (/administrator) and that it points on the view named config.

Most backend views have a "list view" and an "edit view"

list views have always the buttons: New, Edit, Delete, Publish, Unpublish
New => create new item
publish/unpublish => make selected items accessible (or not) from frontend
delete => delete selected items

Order should be the same as in Joomla: from right to left: New, Edit, Delete,Unpublish, Publish

Every edit view in the backend has the buttons apply, save and close.
Apply => store the data and show the same view and same item
Save => store the data and show the reagarding listing view
Cancel => just show the regarding listing view

Order should be the same as in Joomla: from right to left: Close , Apply, Save


Store configuration


Orders & Customers



Frontend Testing

Pay attention to the title of page and the meta data.
Try to make crosssite scripting and simular.

Virtuemart (view=virtuemart)

Show the store description (Store description of the main vendor)
Show categories and products as thumbnail, accessible with links.
Show offline shop function
  • featuredproducts option
  • recentproducts option
  • toptenproducts option
  • latestproducts option

Test if the backend configuration options have the desired effect.
Test links, pictures, speed. Test product/categories per row.
Test a different template.
Dont wonder when there are no featured, recent, topten or latest products.
- Featured are the products which are flagged as featured.
- Recent products are the last products watched by the shopper.
- Topten products are the most sold products.
- Latest products are the last added products.

Category (view=category)

Displays the subcategories of the choosen category (choosed with category_id= in the url)
Displays the products of the category

Can you see categories/products, which are not published? test category_id's which does not exist. Check categories/products per row option

Categories (view=categories)

Shows only the subcategories of a choosen category, category_id=0 should show all categories.
Do you see unpublished categories?
Test categories per row option

Productdetails (view=productdetails)

Shows complete description of the product and assigned pictures/media. Should recalculate prices, when variant is selected.
Displays add to cart button.
Shows related products
Votes (vote, display)
Reviews (add, see latest/selected)
ask a question

Test add to cart without ajax. Test add to cart with ajax. Should show a js box displaying the productname and a Continue Button (points to the view category of the product) and checkout a link to the cart view.
Test the votes and reviews.
Check if the right related products are shown.
Check if you can access with product_id unpublished products or non existing products (do you get an error, a message product not found?)

Cart (view=cart)

Displays products, selected paymentmethod and shippingrate.
Leads the checkout process.
Provides links to the single stages of the checkout steps.
Sends emails after confirmation to the shopper and vendor.

Test checkout process as anonymous. Test checkout as registered. Try mixes of it. For example, register, dont login and checkout. Or do a checkout and try to register then (data should be prefilled).

User/Shopper maintance/profile (view=user)

User maintance view. Provides a possibility to enter the shopperdata.

Test if storing works without entering password again. Test if a user can get administrator rights. Can anonymous or normal registered users see profiles of other users? Can a administrator edit a user from the frontend?

orders (view=orders)

Shows orders done by the logged in user, provides also a possibility for guests so check their order.


Function: Kind of prefiltered category view , shows the description of the vendor and categories/products only belonging to him.


Updated by Valérie Isaksen about 13 years ago · 20 revisions