Comp Software
Comp Software
The trainee should be able to define terms used in computer software installation, classify
software according to their functionality, discuss criteria for software selection, establish
acquisition methods of the software, discuss operating systems, their function, Types of
operating system interfaces and selection of software to be installed based on usage and system
requirements.
199
3.2.1.3 Information Sheet
Definition of Terms
Software - Is a set of programs, which is designed to perform a well-defined function hence tells
a computer what to do or how to perform a task as well as accomplishing the specific user’s task
Installation - Refers to setting up of a computer program hence making the program ready for
execution.
Program execution - Execution is the process by which a computer interprets our program or
performs the instructions of our program.
Software Acquisition – Includes processes that fund, manage, integrate, deploy and support
software before, during and after their software engineering life cycle.
Operating Systems - This is a set of complex programs that work together to control execution of
om
.c
user programs called applications and acts as a go between (interfaces) between the applications
t
tve
sy
Human Computer Interface - Refers to the method of interaction between the computer and the
user and determines how easily the user can operate the computer.
Security - Refers to providing a protection system to computer system resources such as CPU,
memory, disk, software programs and most importantly data/information stored in the
computer system.
200
Computer software is classified according to the task they perform/functionality/purpose. i.e.,
software that tells the computer hardware what to do and also the software that enables the user
accomplish their specific tasks. This software includes:
i. System software
System software performs a variety of fundamental operations that avails computer resources to
the user. These functions include:
i. Booting the computer and making sure that all the hardware elements are working properly.
ii. Performing operations such as retrieving, loading, executing and storing application
programs.
iii. Storing and retrieving files.
iv. Performing a variety of system utility functions.
System software is further divided into:
a. Operating system.
om
b. Firmware.
t.c
ve
c. Utility software.
t
sy
d. Networking software.
ea
d. Networking software
This type of software is mostly used to establish communication between two or more computers
by linking them using a communication channel like cables to create a computer network.
Networking software enables the exchange of data in a network as well as providing data
om
202
Photoshop/Illustrator/ Sketchup
etc
Table 26 common application package
Computer programming tools, such as compilers and linker, are used to translate and combine
computer program source code and libraries into executable RAMs (programs that will belong to
one of the three said).
Criteria for Selection of Computer Software
Although one may have a good computer with the best hardware, the actual real determinant of a
computer’s value to the user is the software in that it can run to solve the data and information
processing needs.
The following factors/criteria should be considered when selecting software:
om
a) Authenticity
t .c
ve
The term authenticity refers to genuineness, validity and or legitimacy of an item. When you
t
sy
acquire software from the vendor, make sure it is an original copy that is accompanied by the
ea
developer s license and certificate of authenticity. This is because some people illegally produce
pirated copies which is an offence.
b) Documentation
It refers to the manuals prepared by the developer having details on how to install, use and
maintain the software. These include installation guides, maintenance guides and user guides.
These documentations enable the user to work with the software with minimum guidance.
c) User needs
The needs of the user determine the type of operating system and application programs that
should be considered for acquisition. For example, if the user needs to type documents most
often, he/she would go for a word-processor.
People with special disability will require software that recognizes other forms of input like
voice and natural sound. A good example is software used in mobile phones to store voice and
allow the user to make a call by just calling a name instead of keying in the number.
d) Reliability and security
203
People are more comfortable with software that offers good security to confidential and private
information. Reliability refers to the guarantee that a software will perform with the same
consistency over the period which the owner will be using it with minimal or completely no
errors.
e) User friendliness
This is a measure of how easily the users can be able to operate the computer. Some programs
are more user- friendlier than others.
f) Cost
The cost of software is perhaps one of the most controversial issues that must be considered
carefully. One cannot just go for software because it is cheap. Many other factors may force a
person to buy far much more expensive software even with cheaper alternatives available.
However, it is illogical to buy expensive software if there is a reliable cheaper alternative that
will meet one’s needs.
om
Software compatibility refers to the ability of the computer to run the software depending on the
t
sy
ea
system setup. For example, some software may only run on a computer that has 4GB of RAM
and above so that they will be held temporarily as they are being executed.
h) Portability
Portability in this aspect refers to whether a program can be copied or installed in more than one
computer.
a. Off-the-Shelf/Standard Software
b. In-House Developed Programs
c. Open Source/ Freeware
a. Off-the-Shelf/Standard Software
These programs are developed by software engineers, packaged and then made available for
purchase through a vendor, a distributor or directly from the developer. Examples of suites are
204
Lotus Suite, Microsoft-Office, Adobe Suite, Corel WordPerfect etc. while those of single
purpose are QuickBooks and Sage Line 50.
The word package is sometimes used to refer to these types of software that are packaged and
sold by vendors.
The Advantages of Off the Shelf Software
i. The initial cost of acquisition is cheaper compared to in-house developed software.
ii. They are readily available in the market.
iii. They are more reliable since they have tested and reviewed intensively.
iv. They offer a wide variety of functionality.
v. They receive automatic and regular updates.
vi. They offer after-sales service support.
vii. They are time and cost-saving in comparison to in-house developed software.
. om
i. Can be more expensive in the long-run due to licensing and subscription fees.
t
sy
ii.
iii. They have limited functionality and cannot easily be modified.
iv. Some have an end-of-life support.
v. May attract extra costs for the upgrades.
vi. May offer unnecessary features and functionalities.
vii. May have integration issues.
These are programs that are uniquely designed and tailored to meet a particular user’s needs. For
example, a bank may decide to manage its banking operations using a unique program developed
by hired programmers. These programs are not available in the shops and once developed for one
company or user may not address the needs of other users.
A software for which the original source code is made freely available and may be redistributed
and modified according to the requirement of the user. It is free to download.
An OS is the system software that provides a platform for other programs to run on in a
computer. It’s the program that controls/interacts with the hardware of the computer and controls
other application software.
Factors to Consider When Choosing An Operating System
When choosing an operating system for a computer, the following factors should be considered:
1. Hardware configuration or provision of the computer e.g., memory size, hard disk capacity,
type of processor, processor’s speed, display requirements etc.
206
2. Basic design of the computer e.g., is it an IBM or IBM-Compatible, or an Apple computer.
3. Applications intended for the computer – consider the architecture of the OS i.e., 32-bit or
64-bit.
4. User friendliness or human computer interface i.e., is it command line based, menu driven, or
graphical user interface based?
5. Availability in the market e.g., Microsoft Windows based operating systems are very
common.
6. Cost - how affordable is the operating system?
7. Reliability i.e., can it run without crashing or hanging i.e., stop responding to commands.
8. User support- what are the terms of after-acquisition support for the OS?
They include:
A single user operating system is designed for use by only one person. It cannot support access
to more than one person at a time. e.g., Windows 10 or Ubuntu 20.04 installed on a personal
computer.
Multiuser or multi access operating system allows more than one user to interactively use the
computer. It can be installed on a computer that is accessed by many people at the same time.
207
Examples of such operating systems are UNIX Solaris, Windows Server 2016, Linux Ubuntu
Server 20.04.
NB: When categorising OSs as single user or multi-user, the key parameter used is the number
of users who can concurrently access the services of the OS and not how processes or programs
it can run concurrently.
Single program operating system allows processing of only one user program in the main
memory at a time. This means that the user can only run one interactive program at a time. Then
the user must exit from the program before loading and running another program. An example of
a single user operating system is MS DOS from Microsoft Corporation.
b. Multi-Tasking OS
This type of operating system allows a single CPU to execute what appears to be more than one
om
program at the same time. However, internally only one program is being executed at a time. The
t.c
ve
CPU switches its attention between programs as it receives requests for processing, executing
t
sy
ea
statements from one program, and then from another using the concept of giving a time slice to
each application. This switching of attention is so fast that it appears as if the programs are being
executed simultaneously.
Historically they were the first OS. Refers to a single processor i.e., OS that control a single
processor (Uniprocessor) system which are centralized. Usually allow one job to run at a time
e.g., the OS for the 2nd generation.
In such systems the program, data & commands to manipulate the program & data are all
submitted together to the computer in form of a job. A job must be completed for the next job to
be loaded & reprocessed. The improvement of such OS is the implementation of batch systems
to reduce on time wasted when the CPU is idle.
208
In the batch OS, several jobs are collected & processed until processing is aerial or sequential
(One job batch after the other.). Consequently, they support one user at a time. There is little or
no interaction between the user and the executing program (OS is less user friendly to the user)
They do not support highly interactive computing with graphics, or point & draw devices e.g., a
mouse.
Refers to OS that controls several processes that have a common access to the main memory
storage.
This type of operating system allows several processes to share the processor creating an illusion
that the processes are running simultaneously by shifting execution rapidly among all the active
processes.
This iteration of various processor with their inter-control is necessary & it is done in the multi-
processor OS.
om
.c
v. Real Time OS
t
ve
This type of operating system is designed to support execution of tasks within specific wall clock
t
sy
ea
time constraints. The operating system must guarantee that the task can be executed within a
specified time constraint. This type of operating system is usually limited to dedicated
applications such as industrial control systems, weapon systems and computer-controlled
products.
Distributed OS
Refers to a common OS shared by a network of computers. It provides support for inter- process
migration, multi-execution & prevention of deleting deadlock. It appears to user as a
uniprocessor system, even though composed of microprocessors. The users should not be aware
of where their programs are being run or where their files are located. This should all be handled
automatically & efficiently by the OS e.g., when a user starts a program, it may run on a local
machine, but if the computer is heavily loaded & OS knows that another computer is idle, then
the job may be transferred to that machine.
209
Functions of Operating Systems
The OS performs various functions which include:
All data and instructions must be temporarily held in the main memory before and after
processing. The operating system may organize the main memory into blocks of sizes called
partitions. It constantly assigns main memory storage partitions to data and instructions. To
access a piece of data or instruction, the operating system knows where to find each piece of data
if the correct address of the partition is used.
The OS ensures that each program and the data it requires are allocated adequate space in
memory.
determine which task will be processed first and makes sure that the one that is currently being
t .c
ve
processed is closely monitored to avoid wasting time in the processor. The criteria for selecting
t
sy
which task will come before the other depends on many factors. For example, the operating
ea
The OS gives each resource a unique identification number called an interrupt number in order
t
vet
for the processor to be able to recognize and prioritise the use and requests for resources. Hence
sy
ea
when two tasks request to use a resource at the same time, the one with higher priority interrupt
is granted control. This can be compared to the priority given to the presidential motorcade on a
busy road.
Secondly, tries as much as possible to avoid a situation where a particular task holds a needed
resource and refuses to release it for use by other tasks. When several tasks do this, an
undesirable situation called deadlock occurs.
A deadlock is as situation which leads to one process holding onto the use of CPU without
release and thus denying any other process access to the same resource leading to the computer
device ‘hanging’.
Therefore, resource control and allocation are core operating system functions because they
determine which tasks uses a particular resource and at what time.
f. Error Handling
211
The operating system has many ways of alerting the user, of errors he or she makes. Many
operating systems usually express what the error is, and where possible make suggestions on
how to correct the error. The operating system does this by monitoring the status of the computer
system and performing error checks on both hardware and the software.
h. Interrupt Handling
An interrupt is a break from the normal sequential processing of instructions in a program. An
external request causes the processor to stop executing the current task and do something else
before returning the control back to the program that was interrupted.
Each hardware device communicates to the processor using a special number called the interrupt
om
.c
The underlying principle in operating system design is to make complex tasks very simple for
the user to carry out. Follow the link below to learn more on types of operating system
interfaces: https://www.youtube.com/watch?v=2HfvAbLq9rE
The user interacts with a computer by typing a command at the prompt found on a command
line. A computer reads instructions from the command line and executes them. For a command
to be more user friendly, the words used should be descriptive verbs e.g., print, copy etc. Unique
abbreviations can also be used e.g., Del, Ren, Chkdsk etc. For example, if you are using MS
DOS operating system, you can copy a file called Kimathi.Dat from a hard disk C to partition D
as follows: COPY C:\Kimathi.Dat D:\
212
Examples of command line interface are the early versions of MS DOS, PC DOS, Linux Bash,
OS/2, and UNIX.
NB: The user must press the enter key for the command to be executed.
om
t.c
ve
t
sy
ea
This type of interface provides the user with a list of options to choose from. The interface
therefore is suitable for beginners who may have difficulties recalling commands. The figure
below shows the Menu driven interface.
213
om
t.c
This type of interface represents commands as small pictures on the screen called icons. Icons
can be selected to issue a command using a pointing device like a mouse. It is user friendliness.
Examples of GUI based operating systems are OS/2 s Presentation Manager, Microsoft
Windows, Linux and Apple Macintosh. A typical Windows QUI interface is shown in Figure 5
below:
214
Figure 76:Windows Graphical User Interface
Follow the link below to learn more on Graphical User Interface
om
https://www.youtube.com/watch?v=N52jNC8Mt_s&t=2s
t .c
ve
t
sy
ea
215
Practical Activities
1. Using the MS DOS command interface, perform the following tasks:
i. Create a directory called Kimathi.
ii. Rename the directory Kimathi to Patrick.
iii. Create a text file named Jane.txt and save it in the directory named Patrick.
iv. Add the following line of text in the file Jane.txt “This is my first text file!”
v. Save the changes to the file.
vi. Display list of contents of current directory
vii. Change directory/partition D.
viii. Checks a disk C and displays a status report.
ix. Display and set the computer's time and date to 12:00:00 31/12/2020.
x. Open any application program from the command line.
3.2.1.5 Self-Assessment
om
.c
1. Discuss five factors that one should consider when choosing an Operating System to install
t
ve
t
sy
2. Which five requirements would you consider before installing an Operating System on a
computer? [5 Marks]
3. Discuss the three software acquisition methods and select the best method to use when
choosing software for drawing a house plan. [10 Marks]
4 Using the ms dos command interface, perform the following task.
i. Create a directory called Kimathi.
ii. Rename a directory to Patrick.
iii. Display list of contents of current directory.
iv. Change directory/partition to D.
v. Checks a disk D and displays a status report.
vi. Displays or sets the computer's time.
vii. Displays or sets the computer's date.
216
3.2.1.6 Tools, Equipment, Supplies and Materials
1 Utility programs e.g antivirus
2 Computer(s)
3 Application Software
4 External Hard disk
5 Flash disk
6 Software CD/DVD
7 Digital instructional material including DVDs and CDs;
8 Operating systems
9 Power
10 Internet connection
3.2.1.7 References
Geoffery Chemwa, Stephen Mburu. (2006). Computer Studies Form 1. Nairobi: Longhorn.
om
https://www.tutorialspoint.com/operating_system/operating_system_tutorial.pdf
t
sy
ea
Graphical User Interface. (2019, Jan 5 ). Retrieved Nov 11, 2020, from you tube :
https://www.youtube.com/watch?v=N52jNC8Mt_s&t=2s
DOS Commands basic. (2012, Oct 24 ). Retrieved Nov 11, 2020, from youtube.com:
https://www.youtube.com/watch?v=1dGwn7cPNeU
OS , CLI Command Line Interface and Menu Driven Interface. (2020, Jun 25 ). Retrieved Nov
11, 2020, from youtube.com: https://www.youtube.com/watch?v=2HfvAbLq9rE
Jain, P. (2018, June 28). Device and Security Management in Operating System. Retrieved Nov 22,
2020, from includehelp.com: https://www.includehelp.com/operating-systems/device-and-
security-management.aspx
Chief, E. i. (2015, Jun 28). 7 Main Advantages and Disadvantages of Open Source
Software.Retrieved Dec 24, 2020, from connectusfund.org: https://connectusfund.org/7-
main-advantages-and-disadvantages-of-open-source-software
217
3.2.1.8 Model Answers to self-assessment
1. Factors that one should consider when choosing an Operating System to install to a computer.
i. Hardware configuration
ii. User friendliness
iii. . Applications
iv. Basic design
v. Availability in the market
vi. Reliability
vii. Cost
2. The requirements for a computer to be installed with an Operating System
i. Processor: - 1 gigahertz (GHz) or faster processor or System on a Chip (SoC)
ii. RAM: - 1 gigabyte (GB) for 32-bit or 2 GB for 64-bit
om
.c
v. Display:- 800x600
3. Compare all the software acquisition methods and identify the best method to use, justifying
your answer.
i. Open source
ii. Off the shelf/standard software
iii. In-house developed programs
Nb: justification depending on the advantages over the disadvantages.
218
iv. Change directory/partition to D - D:
v. Checks a disk D and displays a status report - chkdsk.
vi. Displays or sets the computer's time - time.
vii. Displays or sets the computer's date - date
om
.c
t
t ve
sy
ea
219
3.2.2 Learning outcome 2 install the software.
The trainee should be able to explain terms used in software installation, define software
installation, prepare installation media, describe software installation legal requirements,
describe existing data protection, explain types of software installation (attended, unattended,
headless, schedule/automated, clean/updating and network), describe software installation,
registration perform software configuration and explain importance of registration
Definition of terms
Software installation - refers to the process of setting up a software to work with the computer,
printer, and other hardware.
Installation media – refers to a device like USB flash drive or DVD used to install a new copy
of OS, perform a clean installation, or reinstall OS.
Software License Agreement - is an agreement between a company and it’s customers for use
of the software they have the rights to.
Data protection - is the process of safeguarding important information from corruption,
compromise or loss.
Data security - is both the practice and the technology of protecting valuable and sensitive
company and customer data, such as personal or financial information.
220
Data backup - entails making a copy of your data and storing it on a separate system or medium
such as a tape, disk, or in the cloud.
An End-User License Agreement (EULA) is a legal contract entered into between a software
developer or vendor and the user of the software, often where the software has been purchased
by the user from an intermediary such as a retailer. A EULA specifies in detail the rights and
restrictions which apply to the use of the software.
A software wizard or setup assistant - is a user interface type that presents a user with a
sequence of dialog boxes that lead the user through a series of well-defined steps. Tasks that are
complex, infrequently performed, or unfamiliar may be easier to perform using a wizard.
om
.c
Procedure
To create installation media, go to the software download website, where you'll find step-by-step
instructions. On that website, you can select a version of Windows and create your own
installation media using either a USB flash drive or a DVD. To go directly to one of
the versions, select one of these hyperlinks:
Windows 7
Windows 8.1
Windows 10 (Then select Download tool now.)
Check a few things on the PC where you want to install Windows 10:
64-bit or 32-bit processor (CPU). You’ll create either a 64-bit or 32-bit version of Windows
om
.c
10. To check this on your PC, go to PC info in PC settings or System in Control Panel, and
t
ve
t
sy
System requirements. Make sure the PC meets the system requirements for Windows 10. It
is recommended to go to the PC manufacturer's website for additional info about updated
drivers and hardware compatibility.
Language in Windows. You'll need to choose the same language when you install Windows
10. To see what language you're currently using, go to Time and language in PC settings or
Region in Control Panel.
Edition of Windows. You should also choose the same edition of Windows. To check what
edition you're currently running, go to PC info in PC settings or System in Control Panel,
and look for Windows edition.
Microsoft Office products. If you just purchased a new device that includes Office 365, it is
recommend redeeming (installing) Office before upgrading to Windows 10. To redeem your
copy of Office, please see Download and install Office 365 Home, Personal, or University on
your PC.
222
If you have Office 2010 or earlier and choose to perform a clean install of Windows 10, you
will need to locate your Office product key. For tips on locating your product key, check
Find your Office 2010 product key or Enter the product key for your Office 2007 program.
1. Select Download tool now and select Run. You need to be an administrator to run this tool.
2. If you agree to the license terms, select Accept.
3. On the What do you want to do? page, select Create installation media for another PC,
and then select Next.
Select the language, edition, and architecture (64-bit or 32-bit) for Windows 10.
o ISO file. Save an ISO file to your PC, which you can use to create a DVD. After the
t
tve
sy
file is downloaded, you can go to location where the file is saved, or select Open
ea
DVD burner, and follow the instructions to burn the file to a DVD. For more info
about using an ISO file, see Additional methods for using the ISO file to install
Windows 10 section below.
5. After the installation media is created, follow the steps below to use it.
6. After completing the steps to install Windows 10, please check that you have all the
necessary device drivers installed. To check for updates now, select the Start button, and then
go to settings update & security windows update, and select check for updates.
NB: Click the Media link below to follow how to How to Create Windows 10 Installation
https://www.youtube.com/watch?v=DGcWddE6c4c
A software license agreement is something you want to have in place to prevent or protect you from
infringement of copyright law
223
Reasons for software installation legal requirements:
i. It prevents abuses of your software – If you fail to have one of these agreements signed by one of
your customers, there is nothing stopping them from trying to replicate it or copy it for their own
benefit.
ii. It allows you to license it and not sell it – When you allow users to purchase a license of your
software, you still retain all rights to it. This allows you to license it to others and also allows you
to place restrictions on its use.
iii. It allows you to disclaim warranties – No matter what you do, a customer who installs your
software will have expectations that cannot be met all the time. This can be something such as a
guarantee of no software bugs, no downtime, or other such expectations. You can include terms
in your software license agreement that will include a disclaimer of warranties which will require
the user to accept it as is or as available.
iv. It can limit your liability – you could potentially be exposing yourself to lawsuits. These lawsuits
om
not only take up your valuable time, but they also can create some financial issues for you.
.c
t
ve
v. It can allow you to terminate use at any time with no problems – There should be a portion of the
t
sy
ea
agreement that states that you can revoke licenses at any time.
224
iii. Terms of the agreement – it contains all the terms of the agreement. This includes the price to
be paid for the license, which you can define as a flat fee or a flat fee with yearly maintenance
fees. You will also include information about whether you will be including the code along with
the license and if it is a site license. A site license is another option that will allow your customer
to use the software on more than one computer but only at one location. This section will also
include some information about maintenance, support, or refunds that will or will not be offered
by your company through the agreement.
iv. Fine details – This section is the one that you will use to detail any specifics that are not covered
by the other sections of the software license agreement. These terms tend to be more specific to
your situation instead of broadly expected terms. Also, in this section will be the location for
signatures and dates.
The three principles of data security also referred to as information security are;
sy
ea
1) Confidentiality
2) Integrity
3) Availability
225
2) Integrity – means that data should not be modified without owner’s authority. Data integrity
is violated when a person accidentally or with malicious intent, erases or modifies important
files
3) Availability – information must be available on demand. This means that any information
system and communication link used to access it, must be efficient and functional.
TYPES OF DATA SECURITY CONTROLS
Authentication
Authentication technology verifies if a user’s credentials match those stored in your database.
Today’s standard authentication processes include using a combination of ways to identify an
authorized user, such as passwords, PINS, security tokens, a swipe card, or biometrics.
Access control
om
.c
Authentication and authorization happen through the process called access control. Access
t
ve
t
Discretionary access control (the least restrictive), which allows access to resources based on the
identity of users or groups,
Role-based access control, which assigns access based on organizational role and allows users
access only to specific information,
Mandatory access control, which allows a system administrator to strictly control access to all
information.
Prioritizing data security also requires a plan for how to access your company’s and client’s data
in the event of system failure, disaster, data corruption, or breach. Doing regular data backups is
an important activity to help with that access. You can then recover lost data by using your
backup.
226
Encryption
Data encryption software effectively enhances data security by using an algorithm (called a
cipher) and an encryption key to turn normal text into encrypted cipher text. To an unauthorized
person, the cipher data will be unreadable.
That data can then be decrypted only by a user with an authorized key. Encryption is used to
protect the data that you store (called data at rest) and data exchanged between databases, mobile
devices, and the cloud (called data in transit). Your encryption keys must be securely managed,
including protecting your critical management systems, managing a secure, off-site encryption
backup, and restricting access.
Data masking
Data masking software hides data by obscuring letters and numbers with proxy characters. The
data is still there, behind the masking. The software changes the data back to its original form
om
Tokenization
Tokenization substitutes sensitive data with random characters that are not algorithmically
reversible. The relationship between the data and its token values is stored in a protected
database lookup table, rather than being generated by and decrypted by a mathematical algorithm
(as in the case of encryption). The token representing the real data is used across different
systems as a replacement, while the actual data is stored on a separate, secure platform.
When electronic data is no longer needed and must be permanently cleared from the system,
erasure can overwrite that data so that it is irretrievable. Erasure is different from deletion, which
is a process that simply hides data in such a way that makes it easy to retrieve.
227
a. Attended
b. Unattended
c. Headless
d. Schedule/Automated
e. Clean/Updating.
f. Network
Attended installation.
An installation process usually needs a user who attends it to make choices, such as accepting or
declining an end-user license agreement (EULA), specifying preferences such as the installation
location, supplying passwords or assisting in product activation. In graphical environments,
installers that offer a wizard-based interface are common. Attended installers may ask users to
help mitigate the errors. For instance, if the disk in which the computer program is being
installed was full, the installer may ask the user to specify another target path or clear enough
om
Unattended installation
sy
ea
Installation that is performed without user interaction during its progress or with no user present
at all. One of the reasons to use this approach is to automate the installation of a large number of
systems. An unattended installation either does not require the user to supply anything or has
received all necessary input prior to the start of installation. In unattended installation, it is
assumed that there is no user to help mitigate errors. For instance, if the installation medium was
faulty, the installer should fail the installation, as there is no user to fix the fault or replace the
medium. Unattended installers may record errors in a computer log for later review.
Silent installation
Installation that does not display messages or windows during its progress. "Silent installation" is
not the same as "unattended installation” All silent installations are unattended but not all
unattended installations are silent. The reason behind a silent installation may be
convenience. Malware is almost always installed silently.
228
Figure 78:Silent installation
Headless installation om
headless installation, another machine connects to the target machine (for instance, via a local
t
sy
area network) and takes over the display output. Since a headless installation does not need a
ea
user at the location of the target computer, unattended headless installers may be used to install a
program on multiple machines at the same time.
An installation process that runs on a preset time or when a predefined condition transpires, as
opposed to an installation process that starts explicitly on a user's command. For instance,
a system administrator willing to install a later version of a computer program that is being used
can schedule that installation to occur when that program is not running. An operating system
may automatically install a device driver for a device that the user connects. E.g Malware can be
installed automatically and automatic software updates
Clean installation
A clean installation is one that is done in the absence of any interfering elements such as old
versions of the computer program being installed or leftovers from a previous installation. In
229
particular, the clean installation of an operating system is an installation in which the target disk
partition is erased before installation and formatted.
Network installation
Software installation
om
t .c
ve
t
sy
ea
The following is an overview of the procedures that are needed to install a new operating system
(OS).
230
1. Set up the display environment.
If you are not using the optional DVD drive for preparing the system for OS installation and
installing the OS,
Follow the link for Accessing the Server Output During Installation
If you have an operating system preinstalled on the server, you will need to remove it before
installing a new operating system.
1. Back up all data that you want to save on the hard drive.
2. Insert the Tools and Drivers CD into the server's optional DVD drive.
om
4. When the main menu appears, select the following option from the Tools and Drivers CD
t
sy
ea
main menu:
This option erases all partitions currently located on the primary hard drive, except for the
diagnostic partition. If the diagnostic partition is present, it remains untouched.
You need to make sure that the BIOS is set up for the operating system that you plan to install.
Follow the link for Setting up the BIOS for Operating System Installation.
See the chapter in this document that corresponds to the operating system that you plan to
install.
7. Install the operating system, update the drivers, and run operating system updates, as
necessary.
Click the link below to download the Software Installation Manual
https://www.lanl.gov/orgs/n/n1/FMTTD/symm_analyses/pdfs/sm_installation.pdf
Software registration
Follow the link below for Software Registration Procedure
https://www.youtube.com/watch?v=RVTBgq73acU
Importance of registration
om
When you install software on your computer, you may be asked to register your copy of the
.c
t
ve
By registering your software, manufacturers can alert you of security and performance
updates/patches.
232
2. Creating a Software License Agreement
If you need to create a software license agreement then simply use customizable software license
agreement template to make your agreement.
3.2.2.5 Self-Assessment
1. Install Windows 10 Operating System. Write down the procedure as you are installing
Windows 10 Operating System.
2. Create Windows 10 Installation Media and write down the requirements and its procedure.
3. Describe things to be considered while installing Windows 10 on the PC.
4. Using the tool, create installation media:
5. Erase the primary boot hard disk:
3 Flash disk
vet
sy
4 CD/DVD
ea
3.2.2.7 References
ComputerBoards, I. (1999, June 01). SOFTWARE INSTALLATION. Retrieved Nov 13,
2020, from www.lanl.gov:
https://www.lanl.gov/orgs/n/n1/FMTTD/symm_analyses/pdfs/sm_installation.pdf
233
LegalNature. (2019). The Basics of Software License Agreements. Retrieved Nov 12,
2020, from legalnature.com: https://www.legalnature.com/guides/the-basics-of-software-
license-agreements#what-is-a-software-license-agreement
Looker Data Sciences, I. (2020). Data security. Retrieved Nov 13, 2020, from
https://looker.com/: https://looker.com/definitions/data-security
Microsoft. (2020). Create installation media for Windows 10 Windows 8.1 Windows 7.
Retrieved Nov 12, 2020, from support.microsoft.com: https://support.microsoft.com/en-
us/windows/create-installation-media-for-windows-99a58364-8c02-206f-aa6f-
40c3b507420d
Microsoft. (2020). Create Windows 10 installation media. Retrieved Nov 12, 2020, from
microsoft.com: https://www.microsoft.com/en-us/software-download/windows10
6592-13/Chap1.html#13255
t
sy
ea
Wikipedia. (2020, Nov 02). wikipedia. Retrieved Nov 13, 2020, from en.wikipedia.org:
https://en.wikipedia.org/wiki/Wizard_(software)
youtube. (2013, Sep 06). Software Registration Procedure. Retrieved Nov 14, 2020, from
youtube.com: https://www.youtube.com/watch?v=RVTBgq73acU
youtube. (2020, Mar 22). How to Create Windows 10 Installation Media. Retrieved Nov
12, 2020, from youtube.com: https://www.youtube.com/watch?v=DGcWddE6c4c
234
3.2.2.8 Model answers to self-assessment
1. Create Windows 10 Installation Media and write down the requirements and its procedure.
Procedure
To create installation media, go to the software download website, where you'll find step-by-step
instructions. On that website, you can select a version of Windows and create your own
installation media using either a USB flash drive or a DVD. To go directly to one of
om
64-bit or 32-bit processor (CPU). You will create either a 64-bit or 32-bit version of
Windows 10. To check this on your PC, go to PC info in PC settings or System in Control
Panel, and look for System type.
System requirements. Make sure the PC meets the system requirements for Windows 10. It
is recommended to go to the PC manufacturer's website for additional info about updated
drivers and hardware compatibility.
Language in Windows. You will need to choose the same language when you install
Windows 10. To see what language you are currently using, go to Time and language in PC
settings or Region in Control Panel.
Edition of Windows. You should also choose the same edition of Windows. To check what
edition you are currently running, go to PC info in PC settings or System in Control Panel,
and look for Windows edition.
235
Microsoft Office products. If you just purchased a new device that includes Office 365, it is
recommend redeeming (installing) Office before upgrading to Windows 10. To redeem your
copy of Office, please see Download and install Office 365 Home, Personal, or University on
your PC.
If you have Office 2010 or earlier and choose to perform a clean install of Windows 10, you
will need to locate your Office product key. For tips on locating your product key, check
Find your Office 2010 product key or Enter the product key for your Office 2007 program
1. Select Download tool now and select Run. You need to be an administrator to run this tool.
2. If you agree to the license terms, select Accept.
3. On the What do you want to do? page, select Create installation media for another PC,
and then select Next.
om
.c
Attended installation - An installation process usually needs a user who attends it to make
choices, such as accepting or declining an end-user license agreement (EULA), specifying
preferences such as the installation location, supplying passwords or assisting in product
activation.
Unattended installation - Installation that is performed without user interaction during its
progress or with no user present at all. An unattended installation either does not require the
user to supply anything or has received all necessary input prior to the start of installation.
Silent installation - Installation that does not display messages or windows during its
progress.
236
Scheduled or automated installation -An installation process that runs on a preset time or
when a predefined condition transpires, as opposed to an installation process that starts
explicitly on a user's command.
Clean installation -A clean installation is one that is done in the absence of any interfering
elements such as old versions of the computer program being installed or leftovers from a
previous installation.
1. Back up all data that you want to save on the hard drive.
2. Insert the Tools and Drivers CD into the server's optional DVD drive.
om
.c
4. When the main menu appears, select the following option from the Tools and Drivers CD
sy
ea
main menu:
237
Learning Outcome 3: Software Configuration Management
3.2.3.1 Introduction to the Learning Outcome
The trainee should be able to explain terms used in software configuration management,
describes software configuration components, explain reasons for software configuration
(Tracking and Controlling), explain the importance of software configuration management,
describe auditing and accounting.
3.2.3.2.2 Importance and reasons for software configuration management are identified.
Configuration - is the way a system is set up, or the assortment of components that make up
t .c
the system.
ve
t
sy
Software configuration – means selecting programmable options that make the program
ea
There are the four basic requirements for a software configuration management system. These
include:
i. Identification
238
ii. Control
iii. Audit
iv. status accounting
i. Reduced risk of outages and security breaches through visibility and tracking of the changes
t
sy
ea
to your systems.
ii. Cost reduction by having detailed knowledge of all the elements of your configuration,
avoiding wasteful duplication of your technology assets.
iii. Improved experience for your customers and internal staff by rapidly detecting and
correcting improper configurations that could negatively impact performance.
iv. Strict control of your processes by defining and enforcing formal policies and procedures that
govern asset identification, status monitoring, and auditing.
v. Greater agility and faster problem resolution, enabling you to provide a higher quality of
service and reduce software engineering costs.
vi. Efficient change management by knowing your baseline configuration and having the
visibility to design changes that avoid problems.
vii. Quicker restoration of service. In an outage, you will be able to recover quickly as your
configuration is documented and automated.
viii. Better release management and clear status accounting.
239
Participants of SCM process:
om
.c
Configuration Manager
sy
ea
Configuration Manager is the head who is Responsible for identifying configuration items.
Developer
The developer needs to change the code as per standard development activities or change
requests. He is responsible for maintaining configuration of code.
Auditor
Monitors the progress of development and recognizes issues in the SCM process.
Make sure that processes and policies are followed for creating, changing, and testing.
User
The end user should understand the key SCM terms to ensure he has the latest version of the
software.
3.2.3.5 Self-Assessment
t
sy
ea
Assume you are the Configuration Manager; identify configuration items, describe SCM process.
Software
Flash disk
CD/DVD
241
Operating system
Power
Application software
Puppet
Chef
3.2.3.7 References
TechnologyAdvice. (2020). Configuration Definition & Meaning. Retrieved Nov 16, 2020, from
webopedia.com: https://www.webopedia.com/TERM/C/configuration.html
ZIFF DAVIS, LLC. PCMAG DIGITAL GROUP. (2020). configuration. Retrieved Nov 16,
2020, from pcmag.com: https://www.pcmag.com/encyclopedia/term/configuration
tutorial.html#3
sy
ea
Reduced risk of outages and security breaches through visibility and tracking of the changes to
your systems.
Cost reduction by having detailed knowledge of all the elements of your configuration, avoiding
wasteful duplication of your technology assets.
Improved experience for your customers and internal staff by rapidly detecting and correcting
improper configurations that could negatively impact performance.
Strict control of your processes by defining and enforcing formal policies and procedures that
govern asset identification, status monitoring, and auditing.
242
Greater agility and faster problem resolution, enabling you to provide a higher quality of service
and reduce software engineering costs.
Efficient change management by knowing your baseline configuration and having the visibility
to design changes that avoid problems.
Quicker restoration of service. In an outage, you will be able to recover quickly as your
configuration is documented and automated.
Assume you are the Configuration Manager, you need to configure a server in your organisation,
identify configuration items.
Reason for the Request: Customer impacts if the request cannot be completed or if considerable
om
243
What are the steps/ processes for a software change management?
244
3.2.4 Learning outcome 4: Test software functionality and software maintenance
The trainee should be able to explain terms used in testing software functionality and software
maintenance, describe Techniques of Software Testing (Boundary value analysis, Equivalence
class partitioning and Error Guessing), generate Installation checklist, describe Functional
Testing (Mainline functions, Basic Usability, Accessibility and Error Conditions) and Generate
test report.
Definition of terms
t
sy
ea
Testing: is to compare the actual result with the expected result. Testing is done to identify
whether all the function is working as expectations
Software testing: is a technique to check whether the actual result matches the expected result
and to ensure that the software has not any defect or bug
Installation Testing: It is the process performed to verify if the software has been setup with all
the necessary components and it is working as expected.
Uninstallation Testing: Uninstallation testing is performed to verify if all the components of the
application is removed during the process or NOT.
Software Testing Techniques - help one to design better test cases aimed at evaluating an
attribute or capability of a program or product and determining that it meets its quality.
Software Maintenance - is a part of Software Development Life Cycle. Its main purpose is to
modify and update software application after delivery to correct faults and to improve
performance.
245
Software maintenance - It’s the process to modify and update software application after
delivery to correct faults and to improve performance.
h. Maintainability - The ease with which a software system or component can be modified
ea
Boundary value analysis is based on testing at the boundaries between partitions. It includes
maximum, minimum, inside or outside boundaries, typical values and error values.
This software testing technique base on the principle that, if a system works well for these
particular values then it will work perfectly well for all values which comes between the two
boundary values.
Example:
Equivalent Class Partitioning allows you to divide set of test condition into a partition which
.c
should be considered the same. This software testing method divides the input domain of a
t
vet
sy
program into classes of data from which test cases should be designed.
ea
The concept behind this technique is that test case of a representative value of each class is equal
to a test of any other value of the same class. It allows you to identify valid as well as invalid
equivalence classes.
Example:
1 to 10 and 20 to 30
--- to 0 (invalid)
1 to 10 (valid)
11 to 19 (invalid)
247
20 to 30 (valid)
31 to --- (invalid)
c. Error Guessing
Error Guessing is a software testing technique based on guessing the error which can prevail in
the code. The technique is heavily based on the experience where the test analysts use their
experience to guess the problematic part of the testing application. Hence, the test analysts must
be skilled and experienced for better error guessing.
The test should use the previous experience of testing similar applications
.c
t
ve
ea
A decision table is also known as to Cause-Effect table. This software testing technique is used
for functions which respond to a combination of inputs or events. For example, a submit button
should be enabled if the user has entered all required fields.
The first task is to identify functionalities where the output depends on a combination of inputs.
If there are large input set of combinations, then divide it into smaller subsets which are helpful
for managing a decision table.
For every function, you need to create a table and list down all types of combinations of inputs
and its respective outputs. This helps to identify a condition that is overlooked by the tester.
248
Steps to create a decision table:
Example: A submit button in a contact form is enabled only when all the inputs are entered by
the end user.
Input
Name F T F T F T F T
om
.c
Email F F T T F F T T
t
ve
t
sy
ea
Message F F F F T T T T
Output
Submit F F F F F F F T
State Transition
In State Transition technique changes in input conditions change the state of the Application
Under Test (AUT). It allows the tester to test the behaviour of an AUT. The tester can perform
this action by entering various input conditions in a sequence. The testing team provides positive
as well as negative input test values for evaluating the system behaviour.
i. State transition should be used when a testing team is testing the application for a limited set
of input values.
249
ii. The technique should be used when the testing team wants to test sequence of events which
happen in the application under test.
Example:
In the following example, if the user enters a valid password in any of the first three attempts the
user will be able to log in successfully. If the user enters the invalid password in the first or
second try, the user will be prompted to re-enter the password. When the user enters password
incorrectly 3rd time, the action has taken, and the account will be blocked.
om
.c
t
tve
sy
ea
250
Table 28 state transition diagram
S1) Start S5 S2
In the above-given table when the user enters the correct PIN, the state is transitioned to Access
granted. And if the user enters an incorrect password, he or she is moved to next state. If he does
the same 3rd time, he will reach the account blocked state.
Installation checklist
1. To check if, while installing product checks for the dependent software / patches say
Service pack3.
2. The product should check for the version of the same product on the target machine, say
the previous version should not be over installed on the newer version.
3. Installer should give a default installation path say “C:\programs\.”
4. Installer should allow user to install at location other than the default installation path.
5. Check if the product can be installed “Over the Network”.
6. Installation should start automatically when the CD is inserted.
251
7. Installer should give the remove / Repair options.
8. When uninstalling, check that all the registry keys, files, Dll, shortcuts, active X
components are removed from the system.
9. Try to install the software without administrative privileges (login as guest).
10. Try installing on different operating system.
11. Try installing on system having non-compliant configuration such as less memory / RAM
/ HDD.
12. Support of the different platforms and configurations needed?
13. Does Installation in "clean state" working?
14. Does the installer is able to calculate needed disk space?
15. Does the installer capturing the baseline free space before launching the installer?
16. Does the amount of space the installer claims it needs for the various type of installation
is taken up or is there any discrepancy?
17. How much disk space is used by the installer if the installation is quit midway (this would
om
18. Does the installation recover in case an error is met during the installation?
t
sy
ea
36. Does the installation support, 'UnInstall', 'Modify', 'ReInstall' options?? If yes, does it
t.c
ve
work?
t
sy
ea
37. If the installer is supporting upgrade feature, does it preserve all the necessary settings
(mostly user preferences)?
38. Check for the user privileges before starting installation. (In most of the cases, installer
requires ADMIN privileges).
39. Check the uninstaller entry in add-remove programs. (Check for display string, Display
icon and Support information etc.).
40. Does running the installer, and then running the uninstaller, return the machine to the
base state?
41. Reinstallation should, apart from identifying previous versions, also should give an
option to Remove and Repair.
42. Check to ensure that license key is properly stored in Windows Registry library.
43. Check to ensure that if an evaluation version is installed, then a proper message should be
displayed when the date of period is expired for evaluation version with proper error
message.
253
44. Check to ensure that, if Windows Services are installed then it should install in the
Services folder of windows directory.
45. Check to ensure that if any product is installed and it is dependent on some other product,
then it should give proper message as "The Product is not installed, and it should exit".
Check for dependencies.
46. If the product to be installed uses any third party dll and if it is already installed by some
other product confirm that the current installation does not un-register/tamper it and uses the
existing one.
47. If the dll is already there in the system how does the installation work?
48. And while uninstalling, check should be made as to whether that the shared dll is left
without affecting other product.
49. Usability consideration of the installer.
TYPES OF TESTING:
om
.c
t
t ve
sy
ea
It is a type of software testing which is used to verify the functionality of the software
application, whether the function is working according to the requirement specification. In
functional testing, each function tested by giving the value, determining the output, and verifying
the actual output with the expected value. Functional testing performed as black box testing
which is presented to confirm that the functionality of an application or system behaves as
we are expecting. It is done to verify the functionality of the application.
254
Functional testing also called as black-box testing, because it focuses on application specification
rather than actual code. Tester has to test only the program rather than the system.
o Basic Usability: Functional Testing involves the usability testing of the system. It checks
whether a user can navigate freely without any difficulty through screens.
o Accessibility: Functional testing test the accessibility of the function.
o Mainline function: It focuses on testing the main feature.
o Error Condition: Functional testing is used to check the error condition. It checks whether
the error message displayed.
The purpose of the functional testing is to check the primary entry function, necessarily usable
function, the flow of screen GUI. Functional testing displays the error message so that the user
om
.c
i. Functional testing can miss a critical and logical error in the system.
ii. This testing is not a guarantee of the software to go live.
iii. The possibility of conducting redundant testing is high in functional testing.
om
t .c
256
Figure 84:Steps to perform functional testing
Non-Functional Testing
parameters. The parameters of non-functional testing are never tested before the functional
t.c
ve
testing.
t
sy
ea
For example, non-functional testing would be to test how many people can work simultaneously
on any software.
Functional and Non-functional testing both is mandatory for newly developed software.
Functional testing checks the correctness of internal functions while Non-Functional testing
checks the ability to work in an external environment.
It sets the way for software installation, setup, and execution. The measurement and metrics used
for internal research and development are collected and produced under non-functional testing.
Non-functional testing gives detailed knowledge of product behaviour and used technologies. It
helps in reducing the risk of production and associated costs of the software.
257
Parameters to be tested under Non-Functional Testing.
om
Performance Testing
t
sy
ea
Performance Testing eliminates the reason behind the slow and limited performance of the
software. Reading speed of the software should be as fast as possible. A well-structured and clear
specification about expected speed must be defined.
Load Testing
Load testing involves testing the system's loading capacity. Loading capacity means more and
more people can work on the system simultaneously.
Security Testing
Security testing is used to detect the security flaws of the software application. The testing is
done via investigating system architecture and the mindset of an attacker. Test cases are
conducted by finding areas of code where an attack is most likely to happen.
258
Portability Testing
The portability testing of the software is used to verify whether the system can run on different
operating systems without occurring any bug. This test also tests the working of software when
there is a same operating system but different hardware.
Accountability Testing
Accountability test is done to check whether the system is operating correctly or not. A function
should give the same result for which it has been created. If the system gives expected output, it
gets passed in the test otherwise failed.
Reliability Testing om
Reliability test assumes that whether the software system is running without fail under specified
t .c
ve
conditions or not. The system must be run for a specific time and number of processes. If the
t
sy
system is failed under these specified conditions, reliability test will be failed.
ea
Efficiency Testing
Efficiency test examines the number of resources needed to develop a software system, and how
many of these were used. It also includes the test of these three points.
i. It provides a higher level of security. Security is a fundamental feature due to which system
is protected from cyber-attacks.
259
ii. It ensures the loading capability of the system so that any number of users can use it
simultaneously.
iii. It improves the performance of the system.
iv. Test cases are never changed so do not need to write them more than once.
v. Overall time consumption is less as compared to other testing processes.
i. Every time the software is updated, non-functional tests are performed again.
ii. Due to software updates, people have to pay to re-examine the software; thus, software
becomes very expensive.
Test Report is a document which contains a summary of all test activities and final test results of
om
a testing project. Test report is an assessment of how well the Testing is performed. Based on
.c
t
ve
the test report, stakeholders can evaluate the quality of the tested product and make a decision on
t
sy
The tested product and product components should be specified in this section. In addition,
functions that have not been adequately tested should also be explained in this section.
260
Test Environment
Features related to the test environment are included. The hardware (CPU, ram etc.) features of
the test server, the operating system installed on the test server, roles or test automation software
installed on the server should be explained in this section.
It must be specified separately for each test level (Integration and System tests). The total
number of test scenarios, successful and unsuccessful test scenarios written in this area should be
clearly stated. Information about whether the criteria of success specified in the Software Test
Plan are met must also be added. Example explanations for the Integration Test Results
Overview section can be as follows.
Error Definition
The error definition, error effects and error correction activities of the failed test scenarios
included in the Test Results Overview section are clearly stated in the error definitions section.
An example table of error definitions can be as follows.
261
through the business
management tool
Conclusion and Suggestions
Improvement suggestions, if any, can be shared with the project stakeholders by test experts in
this section.
1. Fill in the Installation checklist below after successfully installation of Applications and the
Operating System,
Department ________________________________________
om
.c
t
ve
Action Action
Completed
Backup files Have you backed up all of your files from the old
computer?
Desktop shortcuts Do you use shortcuts on your desktop? If so, copy
these shortcuts to your backup and just copy those
back to your desktop on the new machine.
262
Software application list Make a list of software applications that you need.
Name of
software
applicatio
n: 1.
2.
3.
4.
5.
6.
7.
https://cdn.softwaretestinghelp.com/wp-content/qa/uploads/2014/06/Sample-Test-Summary-
.c
t
ve
Report-by-SoftwareTestingHelp.pdf
t
sy
ea
3. Generate your own test report guided by the downloaded sample test summary report.
3.2.4.5 Self-Assessment
1. Describe Techniques of Software Testing and highlight their procedures.
2. Explain Installation checklist and describe items contained in it.
3. What is the process of functional testing?
4. Highlight steps to perform functional testing.
5. Describe types of maintenance.
263
4. Wise Installer
5. CruiseControl.Net
6. Install Aware
7. Computer
8. Software
9. External Hard disk
10. Flash disk
11. CD/DVD
12. Digital instructional material including DVDs and CDs.
13. Operating system
14. Machines
15. Power
16. Application software .c
om
3.2.4.7 References
t
ve
t
sy
ea
Abhijit A. Sawant, Pranit H. Bari, P. M. Chawan. (2012). Software Testing Techniques and
Strategies. International Journal of Engineering Research and Applications, pp.980-986.
Guru99. (2020). Software Testing Techniques with Test Case Design Examples. Retrieved Nov
14, 2020, from guru99.com: https://www.guru99.com/software-testing-techniques.html
Sites, G. (n.d.). Installation Testing Checklist. Retrieved Nov 14, 2020, from sites.google.com:
https://sites.google.com/site/testershelp2/installationtestingchecklist
264
3.2.4.8 Model answers to self-assessment
a. If an input condition is restricted between values x and y, then the test cases should be
designed with values x and y as well as values which are above and below x and y.
b. If an input condition is a large number of values, the test case should be developed which
need to exercise the minimum and maximum numbers. Here, values above and below the
minimum and maximum values are also tested.
c. Apply guidelines 1 and 2 to output conditions. It gives an output which reflects the minimum
and the maximum values expected. It also tests the below or above values.
ii. Error Guessing – it is a software testing technique based on guessing the error which can
om
.c
prevail in the code. The technique is heavily based on the experience where the test analysts
t
vet
use their experience to guess the problematic part of the testing application.
sy
ea
a. The test should use the previous experience of testing similar applications
b. Understanding of the system under test
c. Knowledge of typical implementation errors
d. Remember previously troubled areas
e. Evaluate Historical data & Test results
iii. Decision Table Based Testing - it is also known as to Cause-Effect table. This software
testing technique is used for functions which respond to a combination of inputs or events. For
example, a submit button should be enabled if the user has entered all required fields.
The first task is to identify functionalities where the output depends on a combination of
inputs. If there are large input set of combinations, then divide it into smaller subsets which
are helpful for managing a decision table.
265
For every function, you need to create a table and list down all types of combinations of
inputs and its respective outputs. This helps to identify a condition that is overlooked by the
tester.
• In the last row, note down the output against the input combination.
iv. State Transition – it is technique changes in input conditions change the state of the
Application Under Test (AUT). This testing technique allows the tester to test the behaviour
of an AUT. The tester can perform this action by entering various input conditions in a
sequence. In State transition technique, the testing team provides positive as well as negative
om
a. State transition should be used when a testing team is testing the application for a limited set
of input values.
b. The technique should be used when the testing team wants to test sequence of events which
happen in the application under test.
2. Installation checklist
1. To check if, while installing product checks for the dependent software / patches say
Service pack3.
2. The product should check for the version of the same product on the target machine, say
the previous version should not be over installed on the newer version.
3. Installer should give a default installation path say “C:\programs\.”
4. Installer should allow user to install at location other then the default installation path.
5. Check if the product can be installed “Over the Network”
6. Installation should start automatically when the CD is inserted.
266
7. Installer should give the remove / Repair options.
8. When uninstalling, check that all the registry keys, files, Dll, shortcuts, active X
components are removed from the system.
9. Try to install the software without administrative privileges (login as guest).
10. Try installing on different operating system.
11. Try installing on system having non-compliant configuration such as less memory / RAM
/ HDD.
12. Support of the different platforms and configurations needed?
13. Does Installation in "clean state" working?
14. Does the installer is able to calculate needed disk space?
15. Does the installer capturing the baseline free space before launching the installer?
16. Does the amount of space the installer claims it needs for the various type of installation is
actually taken up or is there any discrepancy?
17. How much disk space is used by the installer if the installation is quit midway (this would
om
18. Does the installation recover in case an error is met during the installation?
t
sy
ea
36. Does the installation support, 'UnInstall', 'Modify', 'ReInstall' options?? If yes, does it
t.c
ve
work?
t
sy
ea
37. If the installer is supporting upgrade feature, does it preserve all the necessary settings
(mostly user preferences)?
38. Check for the user privileges before starting installation. (In most of the cases, installer
requires ADMIN privileges).
39. Check the uninstaller entry in add-remove programs. (Check for display string, Display
icon and Support information etc.).
40. Does running the installer, and then running the uninstaller, return the machine to the base
state?
41. Reinstallation should, apart from identifying previous versions, also should give an option
to Remove and Repair.
42. Check to ensure that license key is properly stored in Windows Registry library.
43. Check to ensure that if an evaluation version is installed, then a proper message should be
displayed when the date of period is expired for evaluation version with proper error message.
44. Check to ensure that, if Windows Services are installed then it should install in the Services
folder of windows directory.
268
45. Check to ensure that if any product is installed and it is dependent on some other product,
then it should give proper message as "The Product is not installed and it should exit". Check
for dependencies.
46. If the product to be installed uses any third party dll and if it is already installed by some
other product confirm that the current installation doesn't un-register/tamper it and uses the
existing one.
47. If the dll is already there in the system how does the installation work?
48. And also while uninstalling, check should be made as to whether that the shared dll is left
without affecting other product.
49. Usability consideration of the installer.
ii. After analysis, the requirement specification tester will make a plan.
ve
t
sy
iii. After planning the tests, the tester will design the test case.
ea
iv. After designing the test, case tester will make a document of the traceability matrix.
v. The tester will execute the test case design.
vi. Analysis of the coverage to examine the covered testing area of the application.
vii. Defect management should do to manage defect resolving.
5. Types of maintenance
269
a. Corrective Maintenance - This includes modifications and updations done in order to
correct or fix problems, which are either discovered by user or concluded by user error
reports.
b. Adaptive Maintenance - This includes modifications and updations applied to keep the
software product up-to date and tuned to the ever changing world of technology and business
environment.
c. Perfective Maintenance - This includes modifications and updates done in order to keep the
software usable over long period of time. It includes new features, new user requirements for
refining the software and improve its reliability and performance.
d. Preventive Maintenance - This includes modifications and updations to prevent future
problems of the software. It aims to attend problems, which are not significant at this moment
but may cause serious issues in future.
om
.c
t
tve
sy
ea
270
3.2.5 Learning outcome 5: perform user training.
The trainee should be able to explain terms used in software user training, describe keys to
develop an End User Training Plan (Determine user skill set, create a training program, set
training goals, train delivery methods, and Assess end-user needs) and generate training feedback
template.
User training – it helps the user in operating the system in efficient way by understanding
t
ve
t
sy
271
1. Setting training goals your first objective in providing software training for end-users is
minimizing any productivity losses associated with the software transition. This means you have
to, as quickly as possible, get them up to the skill level required to do their jobs at least as
quickly and accurately as they were doing with the old software.
2. Assessing end-user needs an important element in creating your training plan is to evaluate
the technical skill level(s) of those who will use the software daily.
d. Computer Based Training (CBT) - involves the use of a personal or networked computer for
the delivery and access of training programs.
e. Book-based self-paced training - is defined as a specific learning method in which the learner
can control the amount of material they consume as well as the duration of time they need to
learn the new information properly.
4. Creating a training program End-user training is more effective and memorable if you tailor
it to your own organization's use of the software, rather than generic lessons.
5. Making your training program scalable A scalable training program is flexible enough to
accommodate both small numbers of users (for example, when new employees join the company
and need to be trained on the software) and large numbers (as is necessary in an organization-
wide rollout of a new product).
272
Useful tools in the planning stage
Training feedback
topic?
Could you see and hear the presentations clearly? Y N
(1 = unacceptable; 5 = outstanding)
(1 = unacceptable; 5 = outstanding)
Speed of delivery 1 2 3 4 5
273
Level of content knowledge 1 2 3 4 5
Organization and preparation 1 2 3 4 5
Enthusiasm 1 2 3 4 5
Ability to keep the group focused 1 2 3 4 5
om
Name: (optional)
3.2.5.5 Self-Assessment
1. Highlight Training delivery methods!
274
2. Highlight the key question in the training feedback template.
Flash disk
.c
t
ve
CD/DVD
t
sy
ea
3.2.5.7 References
Bhasin, H. (2020, June 30). What is Training Program? Definition, Meaning and Types.
Retrieved Jan 01, 2021, from marketing91.com: https://www.marketing91.com/training-
program
275
Strickler, L. (2000, February 25). End User Training. Retrieved Jan 01, 2021, from
princeton.edu:
https://www.princeton.edu/~pshrsys/Implementation%20Plan/Strategies/EndUserTraining.htm
Team, T. S. (2013, 06 17). 5 Keys to Developing an End User Training Plan. Retrieved Nov
15, 2020, from sunviewsoftware: https://www.sunviewsoftware.com/blog/learn/blog/5-keys-
to-end-user-training
(1 = unacceptable; 5 = outstanding)
276
Please rate the following the qualities of the instructor’s
delivery:
(1 = unacceptable; 5 = outstanding)
Speed of delivery 1 2 3 4 5
Level of content knowledge 1 2 3 4 5
Organization and preparation 1 2 3 4 5
Enthusiasm 1 2 3 4 5
Ability to keep the group focused 1 2 3 4 5
om
.c
t
tve
sy
ea
277