background preloader

Testing

Facebook Twitter

FitNesse. Selenium web application testing system. Welcome to JUnit.org! Database Testing. Database Testing Richard Dallaway notes about database unit testing inspired me the realization of the DbUnit framework.

Database Testing

I think this is a very good text about this subject. Hopefully he gave me the permission to present excerpts from his notes here. The original text is much longer and I strongly suggest you to read it as well. See resources for reference to it. - Manuel Laflamme Unit testing database These are my notes on how I've gone about unit testing database functionality. The problem is this: you have a SQL database, some stored procedures, and a layer of code sitting between your application and the database. Why bother? I'm guessing some, if not a lot, of database development goes like this: set up database, write code to access database, run code, do a SELECT to see if the records showed up in the database.

The problem with visual inspection is this: you don't do it often, and you don't check everything every time. You need [multiple] databases The production database. HttpUnit Home. Specification by Example. Intro to SW Test Automation. Today,‘Test automation’ is a much talked about topic in the world of software testing and quality.

Intro to SW Test Automation

In this article Saket Godase discusses the basics of test automation. What is test automation? He looks at the types oftest automation and also discusses the various myths about test automation. An Introduction to Software Test Automation Abstract Thisarticle is an introduction to software test automation and will serveas a tutorial to the testers who are new to Test Automation. Software TestingThough there are many formal definitions of software testing it basically boils down to “Software testing is a process used to identify the correctness, completeness and quality of developed computer software.”In reality, testing can never establish the correctness of the software.

Manual Testing –is defined as developing and executing tests that rely primarily ondirect human interaction throughout the entire test case, especially interms of evaluating correctness and ascertaining test status. 1. 2. Software testing. Software testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test.[1] Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software implementation.

Software testing

Test techniques include, but are not limited to the process of executing a program or application with the intent of finding software bugs (errors or other defects). Software testing can be stated as the process of validating and verifying that a computer program/application/product: meets the requirements that guided its design and development,works as expected,can be implemented with the same characteristics,and satisfies the needs of stakeholders. Test-driven development. Test-driven development (TDD) is a software development process that relies on the repetition of a very short development cycle: first the developer writes an (initially failing) automated test case that defines a desired improvement or new function, then produces the minimum amount of code to pass that test, and finally refactors the new code to acceptable standards.

Test-driven development

Kent Beck, who is credited with having developed or 'rediscovered'[1] the technique, stated in 2003 that TDD encourages simple designs and inspires confidence.[2] Test-driven development is related to the test-first programming concepts of extreme programming, begun in 1999,[3] but more recently has created more general interest in its own right.[4] Programmers also apply the concept to improving and debugging legacy code developed with older techniques.[5] Behavior Driven Development. In software engineering, behavior-driven development (abbreviated BDD) is a software development process based on test-driven development (TDD).[1][2] Behavior-driven development combines the general techniques and principles of TDD with ideas from domain-driven design and object-oriented analysis and design to provide software developers and business analysts with shared tools and a shared process to collaborate on software development,[1][3] with the aim of delivering "software that matters".[4] Although BDD is principally an idea about how software development should be managed by both business interests and technical insight, the practice of BDD does assume the use of specialized software tools to support the development process.[2] Although these tools are often developed specifically for use in BDD projects, they can be seen as specialized forms of the tooling that supports test-driven development.

Behavior Driven Development

History[edit] Principles of BDD[edit] Behavioral specifications[edit] See Also[edit] Unit testing. In computer programming, unit testing is a method by which individual units of source code, sets of one or more computer program modules together with associated control data, usage procedures, and operating procedures are tested to determine if they are fit for use.[1] Intuitively, one can view a unit as the smallest testable part of an application.

Unit testing

In procedural programming, a unit could be an entire module, but it is more commonly an individual function or procedure. In object-oriented programming, a unit is often an entire interface, such as a class, but could be an individual method.[2] Unit tests are short code fragments[3] created by programmers or occasionally by white box testers during the development process. Ideally, each test case is independent from the others. Substitutes such as method stubs, mock objects,[4] fakes, and test harnesses can be used to assist testing a module in isolation. Acceptance testing. Specs2 @ GitHub. Presentation is a library for writing executable software specifications.

specs2 @ GitHub

With you can write software specifications for one class (unit specifications) or a full system (acceptance specifications): import org.specs2.mutable._ class HelloWorldSpec extends Specification { "The 'Hello world' string" should { "contain 11 characters" in { "Hello world" must have size(11) } "start with 'Hello'" in { "Hello world" must startWith("Hello") } "end with 'world'" in { "Hello world" must endWith("world") } } } import org.specs2 class HelloWorldSpec extends Specification { def is = s2""" This is a specification to check the 'Hello world' string. Cucumber - Making BDD fun.

Cuke4Ninja: The Secret Ninja Cucumber Scrolls.