Software Testing Methodologies and Techniques You Should Know

Embed Size (px)

Citation preview

  • 8/3/2019 Software Testing Methodologies and Techniques You Should Know

    1/7

    0

    Software Testing

    The Tips, The Tools, The Life Cycle

    Search

    Search for: Go Search

    HomeAboutContact

    // youre reading...

    Software Testing Methodologies and Techniques You

    Should Know

    SOFTWARE TESTING METHODOLOGIES

    This page lists and explains the most popular software testing methodologies and techniques thatare important to know for all software testing.

    AGILE SOFTWARE DEVELOPMENT

    Agile Software Development

    Agile development methods tend to promote teamwork and collaboration. The agile development process isntsequential (code, test, debug, release), like traditional development processes; nor is it iterative; it combines conceptsof both.

    Send 4

    people

    Like

    0

  • 8/3/2019 Software Testing Methodologies and Techniques You Should Know

    2/7

    Twelve principles underlie the Agile Manifesto, including:

    Customer satisfaction by rapid delivery of useful softwareWelcome changing requirements, even late in development.Working software is delivered frequently (weeks rather than months)Working software is the principal measure of progressSustainable development, able to maintain a constant paceClose, daily cooperation between businesspeople and developersFace-to-face conversation is the best form of communication (co-location)

    Projects are built around motivated individuals, who should be trustedContinuous attention to technical excellence and good designSimplicitySelf-organizing teamsRegular adaptation to changing circumstances

    CLEANROOM SOFTWARE ENGINEERING

    The Cleanroom Software Engineering process is a software development process intended to produce software with acertifiable level of reliability:

    Cleanroom development uses on formal methods in the design and specification of a software product. A teamverifies that the design correctly implements the spec.Development and testing is done using an iterative approach, where functionality is added to the productincrementally (as opposed to creating all of the functionality first, THEN testing it).Software testing is performed as a statistical experiment.

    ITERATIVE SOFTWARE DEVELOPMENT

    Iterative Software Development

    Iterative development is at the heart of a cyclic software development process; it starts with an initial planning andends with deployment with the cyclic interactions in between.

    Iterative development is NOT the same thing as incremental development, although the two methodologies docomplement each other.

    Two steps are involved in iterative development:

    Initialization: Creates a base version of the system.Iteration: The current version of the system is analyzed, and is redesigned and implemented based on theProject Control list.

    RAPID APPLICATION DEVELOPMENT (RAD)

    In place of extensive planning, RAD makes heavy use of prototyping.

    In Rapid Application Development, structured techniques and prototyping are especially used to define users

  • 8/3/2019 Software Testing Methodologies and Techniques You Should Know

    3/7

    requirements and to design the final system. The development process starts with the development of preliminary datamodels and business process models using structured techniques. In the next stage, requirements are verified usingprototyping, eventually to refine the data and process models. These stages are repeated iteratively.

    RATIONAL UNIFIED PROCESS (RUP)

    The Rational Unified Process is a framework intended to be customized by software development teams, for theirindividual needs. It was created by Rational Software (which is now part of IBM).

    RUP emphasises six best practices for modern software engineering:

    1. Develop iteratively, with risk as the primary iteration driver2. Manage requirements3. Employ a component-based architecture4. Model software visually5. Continuously verify quality6. Control changes

    Rational Unified Processing

    SPIRAL SOFTWARE DEVELOPMENT

    The Spiral Model is an iterative model that attempts to combine advantages of the top-down and bottom-up models ofsoftware design.

    Spiral Software Development

    The system requirements are defined in as much detail as possible. This usually involves interviewing a number ofusers representing all the external or internal users and other aspects of the existing system.

  • 8/3/2019 Software Testing Methodologies and Techniques You Should Know

    4/7

    A preliminary design is created for the new system. This phase is the most important part of the Spiral Model.

    A first prototype of the new system is constructed from the preliminary design.

    A second prototype is evolved by a fourfold procedure:

    1. evaluating the first prototype in terms of its strengths, weaknesses, and risks;2. defining the requirements of the second prototype;3. planning and designing the second prototype;

    4. constructing and testing the second prototype.

    WATERFALL SOFTWARE DEVELOPMENT

    Waterfall Software Development

    The waterfall model is a sequential design process comprised of the following steps, each of which must becompleted before the next starts:

    1. Design2. Construction/implementation3. Integration

    4. Testing/debugging/validation)5. Installation6. Maintenance

    XP

    Extreme Programming

    Extreme Programming (XP) is intended to improve software quality and responsiveness to changing customerrequirements. by advocating frequent releases in short development cycles, which is intended to improve

  • 8/3/2019 Software Testing Methodologies and Techniques You Should Know

    5/7

    pro uct v ty an ntro uce c ec po nts w ere new customer requ rements can e a opte . eatures are not a euntil they are actually needed. Extreme Programming also encourages programming in pairs, along with frequentcommunication between members of the development team, and between the developers and clients.

    Lean

    Lean development could be summarized by seven principles, very close in concept to lean manufacturing principles.

    Everything not adding value to the customer is considered to be waste, including:

    unnecessary code and functionalitydelay in the software development processunclear requirementsbureaucracyslow internal communication

    In order to be able to eliminate waste, one should be able to recognize and see it. If some activity could be bypassedor the result could be achieved without it, it is waste. Partially done coding eventually abandoned during thedevelopment process is waste. Extra processes and features not often used by customers are waste. Waiting for otheractivities, teams, processes is waste. Defects and lower quality are waste. Managerial overhead not producing realvalue is waste.

    Scrum

    Scrum is an iterative methodology used in agile software development.

    During each sprint, typically a two to four week period (with the length being decided by the team), the teamcreates a potentially shippable product increment (for example, working and tested software). The set of features thatgo into a sprint come from the product backlog, which is a prioritized set of high level requirements of work to bedone. Development is timeboxed such that the sprint must end on time; if requirements are not completed for anyreason they are left out and returned to the product backlog. After a sprint is completed, the team demonstrates how touse the software.

    V-Model

    V-Model

    The V-model is a software development process which may be considered an extension of the waterfall model.Instead of moving down in a linear way, the process steps are bent upwards after the coding phase, to form the typicalV shape. The V-Model demonstrates the relationships between each phase of the development life cycle and itsassociated phase of testing.

    TDD

    Test-driven development (TDD) is a software development process that relies on the repetition of a very shortdevelopment cycle: first the developer writes a failing automated test case that defines a desired improvement or new

  • 8/3/2019 Software Testing Methodologies and Techniques You Should Know

    6/7

    Recommendthis on Google

    unct on, t en pro uces co e to pass t at test an na y re actors t e new co e to accepta e stan ar s.

    PAY4BUGS

    Pay4Bugs can be an essential part of your testing processes, no matter which methodology you use.

    Post to FacebookPost to Twitter

    Discussion

    No comments yet.

    Post a comment

    Name *

    E-mail *

    Comment

    Submit Comment

    Outsource Software Testing

    Like Send

  • 8/3/2019 Software Testing Methodologies and Techniques You Should Know

    7/7

    atest rt c es

    The Software Development Life CycleSoftware Testing: An IntroductionSoftware Testing Interview Questions and AnswersSoftware Testing Tools and Automated Software Testing ToolsSoftware Testing BooksQuality AssuranceRegression Testing

    Software Testing Certification

    2011 SoftwareTestingNow.com - All Rights Reserved

    Sitemap | Privacy Policy | Terms and Conditions | About | Contact Us