Sunteți pe pagina 1din 17

DAY 1 and Day 2

What is Software Testing?

The process of validating a software application under given conditions with


the intention of finding errors.

Why Software Testing?

To deliver a quality product meeting client requirements and specifications.

To detect errors, critical errors which have caused airplane crashes,


allowed space shuttle missions to go awry,halted trading on the stock
market.

Testing Definitions

Methods of Software Testing

Black-Box Testing

The process of testing the external structure of software application.

Or

Tests based on the requirements and functionality.

Ex:- property,behaviour

Techniques

Boundary value analysis: checking the range between the lower bound
and upper bound

Equivalence class partition: checking the valid to invalid data between


the range

Error guessing: Checking by giving invalid i/p and guessing invalid o/p
White –Box Testing

The process of testing internal structure of the software application.

Ex:-control flow, loop, data flow.

Techniques

Statement coverage: checking each and every statement by executing it

Branch coverage: checking set of the statements by executing

Decision coverage: checking the decision

Condition coverage: Checking each and every condition in the program


with all possible outcomes

Multiple condition coverage: invoking each and every entry point atleast
once

Levels of Testing

Unit Tesing.

To check each and every line /statement of a software program or a


component.

Integration Testing

To combine two or modules/components and checking .

Different types: top-down, bottom-up, hybrid /sandwich

Top-down: when main module is finished /built and lower level modules
are under construction we use stubs to simulate the functionality of lower
level module.
Bottom-up: when lower level modules are finished/built and main module
is under construction we use drivers to simulate the functionality of main
module.

Hybrid/Sandwich: We use both stubs and drivers in this approach.

System Testing.

After intergrating all the modules testing the application as a whole.

Acceptance Testing

Checking the application whether the client is satisfied or not.

To see whether the client s requirements are met.

Regression Testing

After receiving the modified build from the developer to check whether the
received build is showing any side effect on the application,or any new
functionality is added or not,removed any functionality.

Re-testing

Checking the same functionality of an application with different set of


inputs.

Automated Testing.

Executing test-script on the automated tool, checking the stress, load,


database .

Error

It may be generated due to improper syntax, improper logic. Ex: run time
error, logical error, syntax error

Defect:

Error /defect/mistake found by the software tester


Bug

If error /defect/mistake accepted by the software developer.

Stub.

A piece of code Simulates the activity of the missing component .used in


Top-down approach

Called function

Driver.

A piece of code which simulates the activity of missing components,drives


all the lower level components,used in bottom-up approach. Calling
function

Test Plan

A.The document which shows the objective ,scope ,approach and focus of
an application.

A. A high level document describing the principles, approach and major


objectives of the organization regarding testing.

Test Case

The document that describes the input ,action or event and output of the
application.

Or
A set of test data and test programs (test scripts) and their expected
results. A test case validates one or more system requirements and
generates a pass or fail.

Test Procedure

Detailed instructions document for the set-up execution and evaluation of


results for a given test case. This document contains a set of associated
instructions. This documentation may have steps specifying a sequence of
actions for the execution of a test

Or

The process of executing different test cases

Test Log.

A detailed record of what tests cases were run, who ran the tests, in what
order they were run, and whether or not individual tests were passed or
failed

Or

A document that describes relevant details of execution of tests.

Test Item

A. The object which we are going to test .

Test script

The set of instructions to be executed on the automated testing tool .

Ex:-Test script language(TSL) set_window,


Verification(QA)

A. Checking whether the application is going in the right path or not

Static TESTing

It is the process of testing the application code (and/or related documents)


without running it

it can be code review ,walk through, inspection etc

Review:

Comparing two similar documents with the base-line document for


completeness and correctness .

Walk-through

walkthrough will happen to


discuss about Business requirements, BCP plan, project
evaluation along with managers etc. No pre-preparation is
needed for this kind of meeting

Inspection

The Inspection may happen any time during the project


phase. This may include the developers, testers, managers
and even the client. The inspection is documented and
circulated among the team members.formal meeting

Validation.(QC)
A. Checking whether we are getting the correct out-put from the
application.

Dynamic Testing

It is the process of testing the application/code by running it. (ie black box
testing).

Test BED

Requirements or preparations to be made before testing. test environment


and test data.

EX:-os, hardwares, softwares etc

Test Harness:

A program or automated test tool used to execute software tests. Also


known as a Test Driver

Methods of testing

White-box,Black-box

Incremental Testing

It is nothing but integration testing having two approaches top-down,


bottom-up

Thread testing

It checks the key functional capabilities by testing a string of units that


accomplish a task.
Software Test Life Cycle.

Test Initialization

Test plan

Test Case Documentation

Test Case Execution

Test Reporting

Test Closure

Portability

Compatibility

Test suite

Test component

Basic path

Sanity

Smoke

Installation

uninstallation

Recovery

Html

Dhtml

Xhtml

Javascript
Css cascading style sheets

Internet concepts

Web server

Web browser

Cookie

Cache

http

https

ip address

ip

HTTP server

Application server

World wide web

Xhtml

Dll

Localization

Globalization/internationalization

Client-side scripting

Server-side scripting

Cross-site scripting/xss

Phishing

Sql injection

Plug-in
Add-on

Usability testing-to check whether user friendly or not

UI-user interface:lool and feel

Networking concepts

Worm

Virus

Temp file

Port:

Physically connects two devices or computers which a cable or plug


connects

Electronically signal transfer

two types port in software ,port in hardware

Software port: it is a virtual/logical data connection that can be used by


programs to exchange data directly,instead of going through a file or other
temporary storage location. TCP,UDP ports are commonly used to
exchange data between computers on internet. A specific port identified by
its number known as port number,The IP address it is associated with,
and the protocol used for communication;

Examples:

First service:SMTP The SMTP service application usually listens on TCP


port 25 for incoming requests

Second service: is the Post Office Protocol (POP) which is used by e-mail
client applications on user's personal computers to fetch email messages
from the server. The POP service listens on TCP port number 110

Both services may be running on the same host computer, in which case
the port number distinguishes the service that was requested by a remote
computer, be it a user's computer or another mail server.
Hardware port : a 'port' serves as an interface between the computer and
other computers or peripheral devices. Physically, a port is a specialized
outlet on a piece of equipment to which a plug or cable connects.
Electronically, the several conductors making up the outlet provide a signal
transfer between devices.

Parallel port(female port-holes) – send multiple bits at the same time over
several sets of wires. Ex: printers,scanners

serial port(male port-pins) – send and receive one bit at a time via a single
wire pair – EX-modems. serial ports provide a standard connector and
protocol to let you attach devices, such as modems, to your computer.

usb port-is a specification to establish communication between devices


and a host controller (usually personal computers)

port number :A specific port identified by its number known as port


number,The IP address it is associated with, and the protocol used for
communication;

VoIP stands for Voice over Internet Protocol. It is also referred to as IP


Telephony or Internet Telephony. It is another way of making phone calls,
with the difference of making the calls cheaper or completely free. The
‘phone’ part is not always present anymore, as you can communicate
without a telephone set.

Router

Packets routed by routers to their destinations

Network router is a device or a piece of software in a computer that


forwards and routes data packets along networks. A network router
connects at least two networks, commonly two LANs or WANs or a LAN
and its ISP network
Hub:. A hub connects computers and other devices on a local area
client/server network

socket

packet

gateway

switch: A network switch is a computer networking device that connects


network segments. filters unnecessary data and forwards necessary data

modem

subnet-mask

operating systems
registry: It is document when a software,hardware is installed in the system
it marks an entry registry. located on the cpu.

Register: single bit data

Udf:universal disk format: technology used in the cd,dvd.

win modes:authentication

win commands:

authorization

authentication

operating systems:

protocols

HTTP,HTTPS,LDAP,IMAP,FTP,SMTP,POP3

Operating systems……

There are many different types, but three typically hover at the top of the
list: Windows, Mac OS and Linux.

Both Windows and Mac OS are commercial OSes, while Linux is Free and
Open Source (FOSS), meaning that it's completely free to use ($0!) and
also free to modify (change the sourcecode).

While Linux is the most open OS of the three, it is the most technical of the
bunch, and its desktop usage is somewhat wavery considering the huge
number of toolkit (control interface) choices available to developers wishing
to write applications for the system. This choice is there because it is a free
OS and developers are free to make the choices they want regarding the
toolkit, programming language they want to use and so on, but for some it
is too off-putting to make the field a viable venture.

Therefore, there aren't many desktop-oriented solution offerings for the


platform yet, and as Linux is in and of itself just a kernel, the process
behind getting a working system is rather involved and therefore the
learning curve is a little steep, although distributions such as Ubuntu try to
make the experience easer for less technically initiated users. However,
because of Linux' ubiquity, it has been ported to many different platforms
over the years and is therefore available for a wide range of devices, such
as those used in embedded situations like set top boxes and industrial
equipment. For example, if you own a TiVo, you are using an embedded
Linux computer.

At a lesser level, there are many other OSes out there, although they're not
very widely known. These projects are typically written using a specific
coding style or for a specific goal, and there are many different systems to
choose from.

One example is React OS, an open source effort that takes the Wine
project and combines it with an NT-compatible kernel to provide
compatibility with Windows applications (ReactOS can run a large number
of Windows apps). Therefore, ReactOS' aim is to provide Windows 2000
compatibility in an entirely free codebase.

Another example is Syllable, which has a moderately small user base but is
quite a success. Syllable is a fork of a project called AtheOS, which, quite
impressively, was written entirely by a single person (consdering the
comprehensiveness of the GUI and kernel API), but sadly died out some
time ago, due to the original author losing interest in the project. Syllable
come a long way since AtheOS but it is still a beta OS and can suffer
issues from different applications or windows randomly crashing to the
entire display subsystem becoming unstable.

Another offering is MenuetOS, an OS written entirely in assembly language


of which both 32-bit and 64-bit versions exist. The 32-bit version is open
source, and the 64-bit version is closed source but freeware. Because
assembly language does not produce additional overhead, the resulting
binary code is the smallest produced by any language, so MenuetOS will
boot a full graphical environment from a floppy disk, and even leaves space
on the floppy for some programs. However, a CD and hard disk install
options are available.
Even another example is plan9, which this author of this answer does not
know much about, so will not elaborate on here.

Overall, there are many different types of operating system, to those which
boot off a floppy disk and print a message to those which are portable to
next to anything to those which contain millions of lines of code and have
consumed the consumer market.

Answer

Within the broad family of operating systems, there are generally four
types, categorised based on the types of computers they control and the
sort of applications they support. The broad categories are:

Real-time operating systems:


They are used to control machinery, scientific instruments and
industrial systems. An RTOS typically has very little user-interface
capability, and no end-user utilities, since the system will be a sealed box
when delivered for use. A very important part of an RTOS is managing the
resources of the computer so that a particular operation executes in
precisely the same amount of time every time it occurs. In a complex
machine, having a part move more quickly just because system resources
are available may be just as catastrophic as having it not move at all
because the system is busy.

Single-user, single-tasking operating system:


As the name implies, this operating system is designed to manage the
computer so that one user can effectively do one thing at a time. The Palm
O.S. for Palm handheld computers is a good example of a modern
single-user, single-task operating system. EX:DOS

Single-user, multi-tasking operating system:


This is the type of operating system most people use on there desktop
and laptop computers today. Windows 98 and the Mac O.S. are both
examples of an operating system that will let a single user has several
programs in operation at the same time. For example, it's entirely possible
for a Windows user to be writing a note in a word processor while
downloading a file from the Internet while printing the text of an e-mail
message.

Multi-user operating systems:


A multi-user operating system allows many different users to take
advantage of the computer's resources simultaneously. The operating
system must make sure that the requirements of the various users are
balanced, and that each of the programs they are using has sufficient and
separate resources so that a problem with one user doesn't affect the entire
community of users. Unix, VMS, and mainframe operating systems,
such as MVS, are examples of multi-user operating systems. It's important
to differentiate here between multi-user operating systems and single-user
operating systems that support networking. Windows 2000 and Novell
Netware can each support hundreds or thousands of networked users, but
the operating systems themselves aren't true multi-user operating systems.
The system administrator is the only user for Windows 2000 or Netware.
The network support and the entire remote user logins the network enables
are, in the overall plan of the operating system, a program being run by the
administrative user.

Types of OS

Multiprocessing - multiple CPUs


Multiprogramming - Time sharing, interactive
Real-time : deadlines, time constraints, predictability
Distributed systems : Sharing and fault tolerance, reliability, dependability.
Network OS
Network Transparent Systems : CORBA-like
Network-centric Systems : Jini-like
Answer

There can be an infinite number of "types", depending on how you want to


classify them. Free or proprietary? Realtime? Unix-like? 16, 32, or 64-bit?
Server, desktop, or embedded?

Answer

Closed source: Windows, Mac OS X


Open source: Linux, DragonFly, FreeBSD, NetBSD, OpenBSD

S-ar putea să vă placă și