Pre-Release Testing Guide - Help Needed
Benton, Kevin
kevin.benton at amd.com
Tue Mar 29 15:54:49 UTC 2005
Does anyone in this list have any testing plans specific to Bugzilla
apart from those that are in the t/ directory? I'm writing a
Pre-Release Testing Guide from scratch and implementing new automated
tests that really interact with the web page and DB in a smoketest
environment (not production but a full simulation of it). Anything
anyone has would be helpful at this point. I'm actually at the point of
writing the architecture spec. for the automated software doing the
testing, however, a large part of doing that work will go straight into
the pre-release testing guide. Here's a quick sample of what's been
developed so far... (some tests are specific to AMD needs, however, for
the planned release version, they will not appear in the guide).
Availability
Name
Description
Pre/Main
Localconfig Vars
Examines $db_user, $db_name, $db_pass, and $::installation variables to
make sure they exist and are set to point back to the smoketest
environment.
Pre/Main
Params Vars
Examines certain key variables in the data/params directory to make sure
they are set to point back to the smoketest environment. They are
cookiepath, insidergroup, installation, and urlbase.
Pre/Main
MySQL Connectivity
Connects to MySQL to determine whether or not the smoketest user,
password, and database have been installed. It does this by connecting
to the database, then collecting a count of the records in the 'bugs'
table. If that count is greater than zero, it's assumed that the
environment was properly loaded. Otherwise, it's assumed that the
environment was left unprepared for testing.
Pre/Main
No Stale Smoketest User
This test executes a query against the profiles table in the smoketest
database to determine if the specific smoketest user has been installed
in the working environment. If it is, this is considered a failure.
Pre/Main
Web Connect
Can the testing routines connect to the listed web address plus
testagent.cgi tacked on to the end. If it gets "OK" back, then success,
otherwise, failure.
Main
createaccount.cgi
- Create Account submit button
Look for the "Create Account" submit button
Main
createaccount.cgi
- Internal use footer
Look for the text "intended for internal use only" in the page.
Main
createaccount.cgi
- Top
This checks for the header tag <link rel="Top"
href="http://something.amd.com/bugzilla/smoketest/test/">.
Main
createaccount.cgi
- Create a new Bugzilla account
Looks for the text "Create a new Bugzilla account".
Main
createaccount.cgi
- Intentionally not logged in
Make sure it appears that the user is not logged in by looking for the
text "Log out". If it exists, assume the system thinks the user is
logged in and fail. Otherwise, success.
None
Validate appropriate reaction to each CGI
Validate appropriate reaction to each CGI. Make sure the CGI responds
properly for a user that is logged in and one that is not. Make sure it
responds properly for admin vs. non-admin users.
None
Self-Create A User
Self-Create A User
None
Self-Update user's password
Self-Update user's password
None
Create a test bug
Create a test bug
None
Update the test bug's comments
Update the test bug's comments
None
Add a CC to the test bug.
Add a CC to the test bug.
None
Remove the CC from the test bug.
Remove the CC from the test bug.
A significant amount of development needs to be done in order to make
the testing suite be an effective test of most of the functionality in
Bugzilla. I've already written routines using LWP to POST data to the
web server simulating a user. If I need to modify it to use GET
instead, that is a very simple change. I'll need to set the routines up
to perform each of the tests as different types of users (not logged in,
an admin, a regular user, a user with editbugs, ...).
My main purpose in developing this documentation and the associated
automated testing software is that I want help with testing Bugzilla for
what I think I could have impacted so I don't miss anything. Even if
it's a rare corner case (stand on your left leg, raise your right leg to
30 degrees, raise your right hand, - you get the idea), it usually isn't
going to get caught if nobody ever tries to develop software like this.
The net result of what I'm trying to do is develop software to reduce
the burden on developers and QA testers so that as a new feature is
implemented and/or developed, the automated testing suite will handle
making sure the vast majority of Bugzilla is functioning normally. Over
time, this testing suite can only improve if it's kept up-to-date.
Of course, some things don't make sense to automate. Tests like
comparing graphical images to data are in that category due to the time
involved in developing the software to read the graph and compare it to
the data it's supposed to represent. GUI "look and feel" is also in
this category. While the testing suite may be able to assist (as it's
designed to), the ultimate decision on make/break will still be up to
the operator using the tool.
---
Kevin Benton
Perl/Bugzilla Developer
Advanced Micro Devices
The opinions stated in this communication do not necessarily reflect the
view of Advanced Micro Devices and have not been reviewed by management.
This communication may contain sensitive and/or confidential and/or
proprietary information. Distribution of such information is strictly
prohibited without prior consent of Advanced Micro Devices. This
communication is for the intended recipient(s) only. If you have
received this communication in error, please notify the sender, then
destroy any remaining copies of this communication.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.bugzilla.org/pipermail/developers/attachments/20050329/9b7ae713/attachment.html>
More information about the developers
mailing list