Software Testing Life cylce is as follows:

. Monday, December 20, 2010
0 comments

1. Test Plan Prepation ( Prepare Test Plan based on Project Summary Document and SRS document)
2. Test Specifications Prepration(Test cases preparation based on Requirement document use cases mockup-links(in web based testing) etc)
4. Test Execution----->
To Perform Manual or Automation based on client requirement and software stability
a. Manaul Testing
b. Automation Testing
4. Defect Reporting and Tracking

Explain SDLC?

.
0 comments

There are 5 phases in sdlc:
1)requirement & analysis
2)design
3)coding
4)testing
5)maintainance

1)requirement & analysis:
the main aim of requirement analysis phase is to produce
a document that properly specifies all reuirements of the
customer.
requirement specification document is the primary out put
of this phase.
proper requirements and analysys are critical for having
succesful project.
the need for executing this phase properly to produce an
srs with the least defect should be evident.

2)design: during the design phase the user requirements are
elicited and software satisfying these requirements are
designed built tested,delivered to the customer.

high level:high level design is the phase of life cycle
the logical view of computer implementation of solution to
the customer requirements are developed.it gives the
solution at high level of abstraction.during the high level
design the functional architecture of application and
database design takes place.
the entry criteria is that srs has been reviewed and
authourised. the input for this phase is software
requirement specification and output for this phase is high
level design document. the exit criteria is that the high
level design document has been reviewed and authourised.

low level design:the view of the application developed in
the high level design is broken into modules and logic
design is done for every program .a unit test plan is
created and documented as program specification. the
important activity in the detailed design phase is
identification of common routines and programs.

the entry criteria is that the highlevel design document
has been reviewed and authourised.
the exit criteria is that the program specification
document has been reviewed and authourised.

coding:
during the coding phase required programing language is
used to produce the program.this phase produces source
code, executables and database design.

testing:
here actual testing takes place .

maintainance:
succesfully developed project will undergo for maintainance.

Explain Software Development Life Cycle Model?

.
0 comments

Methods
Life cycle models describes the inter-relationships between software development phases.
The common life cycle models are:
* Waterfall Model
* Spiral Model
* V-Model
* Prototyping Model
* Evolutionary Development Model
* Reusable Software Model
* Synchronize and Stabilize Model

Since the life cycle steps are described in general terms, the models are adaptable and their implementation details will vary among different organizations. The spiral model is the most general. Most life cycle models can infact be derived as special instances of the spiral model. Organizations may mix and match different life cycle models to develop a model more tailored to their products and capabilities.

Waterfall Model

This is also known as Classic Life Cycle Model (or) Linear Sequential Model (or) Waterfall Method. This has the following features:

* It is least flexible and most obsolete of the life cycle models.
* It is well suited to projects that has low risk in the areas of user interface and performance requirements, but high risk in budget and schedule predictability and control.

Stages involved in Software development process:
1. System Engineering and Modeling
2. Software Requirements Analysis
3. Systems Analysis and Design
4. Code Generation
5. Unit Testing
6. Integration Testing
7. System Testing
8. Operation
9. Maintenance

The waterfall model derives its name due to the cascading effect from one phase to the other as is illustrated in the Figure. In this model each phase has a well defined starting and ending point, with identifiable deliveries to the next phase.


System/Information Engineering

As software is always of a large system (or business), work begins by establishing requirements for all system elements and then allocating some subset of these requirements to software. This system view is essential when software must interface with other elements such as hardware, people and other resources. System is the basic and very critical requirement for the existence of software in any entity. So if the system is not in place, the system should be engineered and put in place. In some cases, to extract the maximum output, the system should be re-engineered and spruced up. Once the ideal system is engineered or tuned, the development team studies the software requirement for the system.

Feasibility:
Defining a preferred concept for the software product and determining its life-cycle feasibility and superiority to alternative concepts.

Requirements:
A complete, verified specification of the required functions, interfaces, and performance for the software product.

Product Design:

A complete verified specification of the overall hardware-software architecture, control structure, and data structure for the product, along with such other necessary components as draft user's manuals and test plans.

Detailed Design:

A complete verified specification of the control structure, data structure, interface relations, sizing, key algorithms and assumptions of each program component.

Coding:
A complete, verified set of program components. A proper functional software product composed of the software components.

Implementation:

A fully functioning operational hardware-software system, including such objectives as program and data conversion, installation and training.

Maintenance:

A fully functioning update of the hardware-software system repeated for each update.

Phaseout:

A clean transition of the functions performed by the product to its successors.

Advantages

* Testing is inherent to every phase of the waterfall model
* It is an enforced disciplined approach
* It is documentation driven, that is, documentation is produced at every stage

Disadvantages

* It only incorporates iteration indirectly, thus changes may cause considerable confusion as the project progresses.
* As the client usually has a vague idea of exactly what is required from the software product, the Waterfall Model has difficulty accommodating the natural uncertainty that exists at the beginning of the project.
* The customer only sees a working version of the product after it has been coded which may result in disaster. Any undetected problems are precipitated to this stage.

Strengths and Weakness of different Software Development Life Cycle Models:

Waterfall Model:
waterfall performs well for products with clearly understood requirements or when working with well understood technical tools, architectures and infrastructures. It's weaknesses frequently make it inadvisable when rapid development is needed. In those cases, modified models may be more effective.

Strengths

* Minimizes planning overhead since it can be done up front.
* Structure minimizes wasted effort, so it works well for technically weak or inexperienced staff.

Weaknesses

* Inflexible.
* Only the final phase produces a non-documentation deliverable.
* Backing up to address mistakes is difficult

Spiral Model
The spiral is a risk-reduction oriented model that breaks a software project up into mini-projects, each addressing one or more major risks. After major risks have been addressed, the spiral model terminates as a waterfall model.

Strengths

* Early iterations of the project are the cheapest, enabling the highest risks to be addressed at the lowest total cost. This ensures that as costs increase, risks decrease.
* Each iteration of the spiral can be tailored to suit the needs of the project.

Weaknesses

* It is complicated and requires attentive and knowledgeable management to pull it off.

Prototype Models:

Prototyping uses multiple iterations of requirements gathering and analysis, design and prototype development. After each iteration, the result is analyzed by the customer. Their response creates the next level of requirements and defines the next iteration.

Strengths

* Customers can see steady progress.
* This is useful when requirements are changing rapidly, when the customer is reluctant to commit to a set of requirements or when no one fully understands the application area.

Weaknesses

* It is impossible to know at the outset of the project how long it will take.
* There is no way to know the number of iterations that will be required.

Code-and-Fix

If you don't use a methodology, it's likely you are doing code-and-fix. Code-and-fix rarely produces useful results. It is very dangerous as there is no way to assess progress, quality or risk. Code-and-fix is only appropriate for small throwaway projects like proof-of-concept, short-lived demos or throwaway prototypes.

Strengths

* No time spent on "overhead" like planning, documentation, quality assurance, standards enforcement or other non-coding activities.
* Requires little experience.

Weaknesses

* Dangerous.
* No means of assessing quality or identifying risks.
* Fundamental flaws in approach do not show up quickly, often requiring work to be thrown out.

Explain software system design?

.
0 comments

When we're talking about software system design, we're talking about something larger than just a piece of software. Often software systems are large programs or systems comprised of several programs and subsystems. In many cases systems of larger sizes need to be well designed in order to perform sufficiently well under heavy load. So, software system design is the practice of extracting the needed information about what a system should do and then coming about via design, research and prototyping w/a way to solve the problem in a way that yields sufficient performance w/o wasting time or resources in the process. It is excruciatingly hard, or perhaps impossible to create a software system that works well w/o enough design.
However, one way to design systems is through prototyping, but it still isn't really possible to come about w/a prototype that is good enough w/o understanding the actual problem well enough. So, no matter what kind of a approach you take to solving the problem of creating a well-working software system, you cannot live w/o design. There are just different approaches to it. The design might be very thought out, or it may emerge. But the time to think it out has to be put in there in one way or the other.


Software is what enables us to use computer hardware effectively and is needed for our modern life. A software designer changes people's needs into computer programmes to enable people to meet their objectives. Most electrical items have software in them. Some don't like light bulbs. Software is instructions to hardware to do things. A software designers design a set of instructions so a computer will do helpful things for people. A software designer produces computer programmes, a functional specification to agree the design with the customer and a programme to realise the design. Software is involved with everything so software designers work for both companies and freelance. It is very hard to find a company which doesn't have software designers. To be a software designer maths is essential. Employers look for maths and science skills and good communication skills. You can be a software designer without qualifications but it is very unlikely.
Software designers plan and write computer programmes to meet functional requirements. Software designers design the features of programmes such as the features of Microsoft word or the features of an oven. Everything we do on the computer is a result of software design.
Source
: http://wiki.answers.com/Q/Explain_software_system_design#ixzz18f0aK0kj