A little background about this - Each person may have their own way of testing or finding issues. They may not necessarily find my method helpful to understand the basics, this is something i'm trying to generalize for the new comers in software/ firmware testing. My intention is to make a series out of it, if i can and get enough motivation to write the basic stuffs.
Few more basic things- On my previous post I tried to give an basic idea of Software Testing. It was mostly to get an idea what / how we do testing. This was meant for the people who does not have idea about software testing but more or less has some literacy about the Software.
the “System” /Environment for software to install and run:
I’m only going to describe about the following topic in details form software testing point of view and/or that are relevant to our testing (avoiding the technical jargons/ definitions).
Operating System (OS):
Most of us know that software runs on an operating system. We need to have some basic idea about the operating system as well. Windows is (one upon a time, used to be) one of the favorite platform for software. Now a days there are many other operating system like Linux, Android, Apple OS etc that allows to run software/ application to perform some functions. I’m more familiar with Windows operating system and thus will provide specific info on windows.
- 32 or 64 bit: OS can also be a 32-bit or 64-bit operating system. Windows 7, 8, 8.1 all of these supports both 32 and 64 bit operating system.
- Installation Path: Depending on the 32/ 64 bit, it installs the software on different location. For Windows 32-bit OS, all the software goes under the “C:\Program Files\<software folder>”. Under this folder it copies all the executable files along with dependent library files.
For a 64 bit machine, if the software is a lagecy software (that is meant to be for 32 bit), then the installation will go under the “C:\Program Files(x86)\<software folder>”. If the software itself meant to be for the 64 bit on a 64 bit machine then it will be under “C:\Program Files\<software folder>”.
- Data files: Since WIndows 7, most of the programs data/ configuration file goes under some hidden folder “C:\Program data\<software folder>” or under “C:\Users\<UserName>\AppData\Roaming\<software folder>”. Small programs that does not use big databases may use this folder to put the data file.
It is important to know that, both these “C:\Program Files\” and “C:\Program Data\” folder requires Administrative Privilege to install / access.
- Sometimes the versions of the OS also plays a role. For windows they have Professional, Home, Enterprise etc versions. Depending on the nature of the software, it may be necessary to have an idea of different version of the operating system.
Hardware (H/W):
Basic ideas needed about the followings:
- Storage devices - Hard Disk Drive, Optical Drives, USB drives. Need to know how much data it can hold, how much free and how much occupied.
- Memory - Memory or RAM is needed to run programs on demand. RAM makes it easier/ faster to access program/ data as needed. The more the memory, usually, the better the performance would be (with some exceptions).
- Processor- Need to know whether it’s a 32 bit or 64 bit Processor. Need to know the basic requirement to run a software on a machine. If a software requires to run on 64 bit machine, you won’t be able to install it on 32 bit machine and its operating system.
- Port - Again, depending on the nature of the program, it may needed to have an overall idea about using COM (Serial) Port, USB to Serial Port. Port is a path to communicate with the program and the external hardware.
DataBase:
In order to store data, software needs some form of structure to save and retrieve data. This could be file base or could be using database. Following are some common databases that are used for the software. As a software tester we might need some basic knowledge about the followings as well. To work with databases, one need to know the SQL. SQL is the query language that can be run on the relational databases. Each database may have their own syntax, but they will have the same basic idea.
- Oracle - By Oracle group. Relational Database, supports multiple user, supports network access, heavy weight, requires more dedicated hardware resources.
- MS SQL - By Microsoft. Relational Database, supports multiple user, supports network access, heavy weight, requires more dedicated hardware resources.
- MYSQL - Bought by Oracle, used to be open source program.Relational Database, supports multiple user, supports network access and lightweight.
- MS Access - Used to a popular database by Microsoft. It is vulnerable, does not support multi user, has to be one instance, does not support network access.
- Any other databases - there are few other databases. Depending on the nature of the job or the company's interest they might choose to use different database.
File Base:
For smaller software/ application, it may not be necessary to have a database for storing the data. It could be a flat file format, could be an XML format or could be any other filebase format.
Next Topics.... "Understanding of software"
Next Topics.... "Understanding of software"
No comments:
Post a Comment