Friday, February 22, 2013

Software Installation – Incorporating an entity in envisioned environs

 “First impression is the best”, rightly said. As we all know, X persons would have spent Y efforts to develop product/software, claiming to solve intended customer requirements. But to fit in, that artifact in anticipated environment we need a provision, yes I could hear your inner voices it is an “Installer”. Hence a tester must qualify the installer on par with rocket launch, so that none of the stakeholder is unsatisfied.
Having cited the importance of installation testing, let’s dig deep into it. Here, I have confined my scope to Software installation on computers. 

Installation Modes: An installer can be invoked in either one of the foll state

New
Modify
Application is installed for the first time.
No traces of previous installation are observed.
  •            Note: Some installers usually maintain log files to count the history of installations

  •            To update existing setup. For Instance: Change the folder of application 
  •         Add new features. Ex: Upgrade to another version with customer key

Should not tamper underlying database or application settings
Repair
Uninstallation
Something went wrong in current setup.
Repair mode either sets the system to its default values or restores the existing configurations, depending upon the design.
Web pages to log the issues with software.
Need not be complete uninstallation.


Any installer should adhere to the these principles

Basic caveats
  •          Should not leave the system/environment unusable. It should adhere to “ACID” properties
  •          Intimate user to close applications using similar Dlls
  •          Update default programs in windows
  •          Associate file formats, if any
  •          Only one instance of installer at a time should access the system 

I have quoted typical installer functionality in a mind map. [Note: This is my first mind map, so if there are any errors please let me know]. Still there are many more contributors whom we can account for listed a few below
  •          Time Zone :Format of dates & Time
  •          Desktop: Screen Resolution, Themes
  •          Files System : FAT16 or FAT32 in NTFS
  •          Standby and hibernation : Resumes without loss of functionality
This list goes on based upon domain, user, project context etc..

Software Installer - Mind Map
Installer- Mind Map
 Few questions popped up when I was drafting this feed, why Accessibility testing is not given more preferences for Installers?? Is there any other type of testing that can be accounted to Installation? I will be obliged if some share few insights about it.

Have comments, then please share!!.