Friday, 21 April 2017

Software Development Life Cycle


Lecture No 2:

Hello All,

Q) What is SDLC (Software Development Life Cycle)

Software Development Life Cycle:
The creation of a new software product may involve dozens of team members and every one playing the different roles in tight schedule.
SDLC is an standard process to develop the Software Application. Software development life cycle has distinct phases which are followed to develop the Software Application. Each phase performing the different tasks.
There are two SDLC process:
i)                   Sequential Model
ii)                Incremental Model
Most useful SDLC process in Software organization are follows:
i)                   Sequential Mode
a)     Waterfall Model
b)     V- Model
ii)                Incremental Model
c)     Agile Model(using Scrum)
d)     Spiral Model

Waterfall Model:
The waterfall model moves down a series of steps starting from an initial idea to a final product. At the end of each phase, the project team holds a ready to move to the next step.
If the project is not ready to progress for the next phase, this time you can say that level is not ready.
Please check the Fig.


In waterfall model there is no way to back up.  You need to complete the tasks for that step and then move on .

V- Model:


 Verification :
·        Verification is the process confirming that something software meets its specification .
·        In verification, testers are looking for the bug in non running elements of the software life cycle.
           Ex. Requirement documents, Design Documents, Coding etc..
·        Tester can ask one question: Are we building the product right?


Validation :
·        Validation is the process to confirming that it meets the user’s requirements.
·        In validation, testers are looking for the bug in running state.
·        In this case testers running the developed module and compare the behavior with requirement document.
·        Tester can ask one question: Are we building the right product?

Agile (using Scrum)
What Is Agile?

Not a methodology! The Agile movement is alternatives to traditional project management. Agile approaches help teams respond to unpredictability through
incremental, iterative work. Agile propose alternatives to waterfall, or traditional sequential development.

What is Scrum?
Scrum is the most popular way of introducing Agile due to its simplicity and flexibility. Because of this popularity, many organizations are working on Scrum. In scrum team is self management, and striving to build properly tested product increments within short iterations.
Scrum has only three roles: Product Owner, Team, and Scrum Master. These are described in detail bellow.
Scrum has five meetings: Backlog Refinement meeting, Sprint Planning, Daily Standup Scrum, the Sprint Review Meeting, and the Sprint Retrospective Meeting.

Scrum Roles
Scrum has three roles: Product Owner, Scrum Master, and Team.
  • Product Owner: The Product Owner should be a person with vision, authority, and availability. The Product Owner is responsible for continuously communicating the vision and priorities to the development team.
  • Scrum Master: The Scrum Master acts as a facilitator for the Product Owner and the team. The Scrum Master does not manage the team. The Scrum Master works to remove any difficulties that are obstructing the team from achieving its sprint goals. This helps the team remain creative and productive while making sure its successes are visible to the Product Owner.
  • Team: For a software projects, a team includes a mix of software engineers, architects, programmers, analysts, QA experts, testers, and UI designers. Each sprint, the team is responsible for determining how it will accomplish the work to be completed. The team has autonomy and responsibility to meet the goals of the sprint.
 If you want to know more about Agile please feel free to post a comment I will defiantly write a special blog for Agile.
Thank you for Visit waiting for your comments, Bye.

Previous Posts:

Sunday, 16 April 2017

What is software testing?


Lecture 1 :
Blog 1 :

Hello all,

This is the first blog for Software testing, in last blog I had shared Index file for upcoming blogs.
So Let's begin with our First Topic :
What is software Testing ? and Why Software Testing ?



Q ) What is Software Testing ?
Software testing is the process of checking a piece of code(module) to find the differences between users (clients) requirements and the behavior of developed module(Expected Output). 
Software testing is a process that should be done during the development process. 
In other words software testing is a verification and validation process(we will see V-Model in detail in upcoming blogs).





Verification

Verification is the process to make sure the product satisfies the conditions which are mention in the requirement specification documents at the start of the development. It means to check, the product behaves the way we want it to.
Tester can ask one question: Are we building the product right?

Validation

Validation is the process to make sure the product satisfies the specified requirements which are mention in requirement document at the end of the development phase. It means to check, the product is built as per customer requirements.
Tester can ask one question: Are we building the right product?



Why Software Testing needed? 
Software Testing is necessary because we all make mistakes. Some of those mistakes are unimportant, but some of them are expensive or dangerous.
We need to check is there any mistake or developer miss the important requirement which is useful for the end user.

Also software testing is very important to check whether the developed software meets its quality standards or not.

If tester feels the module is not up to the mark this time he will suggest related points to the developer to improve the quality of that module, or tester founds some bugs this time he will reporting the bugs to the developer.

How to report the bug to the developer we will see in STLC(Software Testing Life Cycle) blog.
In next blog we will see the SDLC(i.e. Software Development Life Cycle) and STLC(i.e. Software Testing Life Cycle).

Please comment your suggestions and Doubts in comment.
Thank You.











Test Plan Document

Hello Friends, Welcome to All About Software Testing blog.   In last blog we took the important STLC process, In this Blo...