Learn, Share and Keep Learning
| Installation Testing Challenges |
|
This question was asked by John in Software-Testing yahoo group. Whole discussion was around, what are the different challenges associated with installation testing and how people have solved problems associated with the installation testing. Excerpts from the original question goes like this - Currently, it is the test team's job to verify each installation in various ways. This includes running every new installer that is created and then using a tool called Beyond Compare to compare the files that are installed with the build folder to ensure all files are identical. Secondly, for each build, the testers must compare all files of a new installed build with an installed build of the last version and note that all changes are expected. Some of the interesting responses were as follows TestingGeekTo reduce the pain associated with installation testing we banked upon some small checklist for installation engineer and a home grown tool to compare registry values and file systems with expected values. +++++++++++++++++++++++++++++++++++++++++++++++++++ Matt Heusser If I understood you correctly, I have a couple of ideas. Adam Goucher At HP, we partially addressed the installer testing problem in the following ways Walter Gorlitz We use a single build machine. This eliminates the need to have developers drop the files in place. After the build has been completed, the process that started the build tells our installer to grab the required files. This addresses the repeatability of creating the installer. Our installer guy just has to approve all changes to the installer scripts. We still have to do installer testing. In Another Post We use Wise. We just call Wise from the command line with a parameter of the script to be used. +++++++++++++++++++++++++++++++++++++++++++++++++++ Joao I share your concern. It is indeed a huge task to verify setups, because if you need to repeat the test you tipically must: 1-Uninstall 2-Check that everything was removed (like registry stuff, etc) – Probably you have to verify the uninstall feature as well… 3-Install 4-Perform the verifications In my company we have patches every week, and you cannot imagine the immense diversity of problems such as: -This file is missing because we forgot to include it -This file is missing because we did not know we needed to include it -This other team did not tell us this shared file was changed, so we did not include it in our module. -There were “compilation problems” (corrupted files) It seems to me that the way to resolve this problem is more on their side. I mean, they should find procedures and methods that are more reliable, more automated (in the sense that they don’t have to think every time about what files they should include, etc). The more tasks they have to do “by hand”, the more likely they are to miss some. They should get check lists or any other tools to help them. I ought to say that if a file is missing from a release, the responsibility is from who released the product. I don’t see our function (tester function) as a parachute to developers work, because I guess it is impossible to verify everything. Quality is not responsibility of the quality department (QA, Test team, whatever you call it); it is responsibility of the whole R&D team. (I read this on paper “classic testing mistakes”, I think) +++++++++++++++++++++++++++++++++++++++++++++++++++ Dave I've had some limited contact with install testing before. I have used a tool called inctrl5 (http://www.pcmag.com/article2/0,1759,9882,00.asp). It's fairly cheap as test tools go - you can download it for $8. It will watch an install and compare before and after snapshots of the disk, registry, and specified files. +++++++++++++++++++++++++++++++++++++++++++++++++++ Michael Bolton I got a clear whiff of that from your initial report. I had in mind a somewhat different answer from most of the respondents: to my mind, your testing job may be done when you've identified the amount of time and effort that is being expended on the problem as it is. One important part of that story is the opportunity cost: every moment you spend on investigating and reporting a problem that could otherwise have been anticipated and addressed is a moment that you can't spend on getting test coverage on the rest of the product. The problems that you know about are therefore concealing problems that you don't know about yet, and that's usually a pretty serious risk. +++++++++++++++++++++++++++++++++++++++++++++++++++ Neeraj Tikku In my last company I was also on the other side of the fence, that is, I was the one who had the responsibility of creating the installer besides testing them. To add to the complexity, the product I created installer for, was supported on windows platform plus 3 flavours of UNIX [HP, AIX & Solaris]. +++++++++++++++++++++++++++++++++++++++++++++++++++ Eric In a review, I would point out that the test case presented should be optimized for the problem space being solved for. I’ve been doing install testing since Installshield was a pup, and there’s no way I would expect uninstall to set the correct base state for the next install testing round. I don’t mean this to seem like an Installshield problem, it’s common for the install developer to miss things. And have QA test quality into the installer. The gross-level steps I’d follow for the install/uninstall testcase (there are so many more than this one) look like this: 1.Restore base image (from Ghost, VMWare, MS VPC, format and reinstall Windows, something) 2.Install anything else you want to have there as part of the test (i.e. back when apps conflicted due to DLL Hell) 3. Take filesystem and registry snapshot 4. Install 5. Verify File system, registry, any apps (DLL Hell again, but not always…) 6. Uninstall 7. Verify File system, registry, any apps (DLL Hell again, but not always…) Of course, this TC does not specify implementation method (manual, automated, etc.). In my case, automated, automated, automated. I’m the laziest, while being thorough, tester in the world and automate everything that gets me ROI while balancing for objectives. Before we get onto that tangent, let’s be clear that manual testing (ad hoc and structured) is a MUST for any GUI work to ensure a great customer experience. But from a functionality regression resource perspective, it’s not the right tool IMHO. |
| Last Updated on Thursday, 05 February 2009 13:15 |