Showing posts with label Continuous Integration. Show all posts
Showing posts with label Continuous Integration. Show all posts

Jenkins CI is an open source continuous integration server. It provides hundreds of plugins to support building and testing virtually any project. It supports multiple SCM tools including CVS, Subversion and Git. It can execute Apache Ant and Apache Maven-based projects as well as arbitrary shell scripts and Windows batch commands.

Homepage: jenkins-ci.org

Jenkins is an award-winning application that monitors executions of repeated jobs, such as building a software project or jobs run by cron. Among those things, current Jenkins focuses on the following two jobs:
  • Building/testing software projects continuously, just like CruiseControl or DamageControl. In a nutshell, Jenkins provides an easy-to-use so-called continuous integration system, making it easier for developers to integrate changes to the project, and making it easier for users to obtain a fresh build. The automated, continuous build increases the productivity.
  • Monitoring executions of externally-run jobs, such as cron jobs and procmail jobs, even those that are run on a remote machine. For example, with cron, all you receive is regular e-mails that capture the output, and it is up to you to look at them diligently and notice when it broke. Jenkins keeps those outputs and makes it easy for you to notice when something is wrong.
Jenkins offers the following features:
  • Easy installation: Just java -jar jenkins.war, or deploy it in a servlet container. No additional install, no database.
  • Easy configuration: Jenkins can be configured entirely from its friendly web GUI with extensive on-the-fly error checks and inline help. There's no need to tweak XML manually anymore, although if you'd like to do so, you can do that, too.
  • Change set support: Jenkins can generate a list of changes made into the build from Subversion/CVS. This is also done in a fairly efficient fashion, to reduce the load on the repository.
  • Permanent links: Jenkins gives you clean readable URLs for most of its pages, including some permalinks like "latest build"/"latest successful build", so that they can be easily linked from elsewhere.
  • RSS/E-mail/IM Integration: Monitor build results by RSS or e-mail to get real-time notifications on failures.
  • After-the-fact tagging: Builds can be tagged long after builds are completed
  • JUnit/TestNG test reporting: JUnit test reports can be tabulated, summarized, and displayed with history information, such as when it started breaking, etc. History trend is plotted into a graph.
  • Distributed builds: Jenkins can distribute build/test loads to multiple computers. This lets you get the most out of those idle workstations sitting beneath developers' desks.
  • File fingerprinting: Jenkins can keep track of which build produced which jars, and which build is using which version of jars, and so on. This works even for jars that are produced outside Jenkins, and is ideal for projects to track dependency.
  • Plugin Support: Jenkins can be extended via 3rd party plugins. You can write plugins to make Jenkins support tools/processes that your team uses.

TestLink is a web-based test management software that facilitates software quality assurance. It is developed and maintained by Teamst. The platform offers support for test cases, test suites, test plans, test projects and user management, as well as various reports and statistics.

Homepage: www.teamst.org

TestLink is web based Test Management system. Because TestLink is a web-based software, in order to install and run it, an administrator needs access to a web server and a database. TestLink has support for the MySQL and PostgreSQL databases. In order to use TestLink, a user needs only a web browser.

Features
  • user roles and management
  • grouping of test cases in test specifications
  • test plans
  • platforms
  • requirements with versioning and revisioning
  • support for testing different builds of the software
  • reports, charts and monitors
  • customization of the user interface using Smarty templates
  • integration with LDAP
  • integration with other software using a provided API
  • bug tracking system integration (Mantis, JIRA, Bugzilla, FogBugz, Redmine, and others)
TestLink is test management software that facilitates software quality assurance. It offers support for test cases, test suites, test plans, test projects and user management, as well as various reports and statistics.

Usage
The basic units used by TestLink are: Test Case, Test Suite, Test Plan, Test Project and User.

Test PlanTest Plans are the basic unit for executing a set of test on an application. Test Plans include Builds, Milestones, User assignment and Test Results.

A Test Plan contains name, description, collection of chosen Test Cases, Builds, Test Results, milestones, tester assignment and priority definition. Each Test Plan is related to the current Test Project.

Test Plans may be created from the "Test Plan management" page by users with lead privileges for the current Test Project. Press "Create" button and enter data.

Test Plan definition consists from title, description (html format) and status "Active" check-box. Description should include the next information with respect to company processes:
  •     Summary/Scope
  •     Features to be tested
  •     Features to not be tested
  •     Test criteria (to pass tested product)
  •     Test environment, Infrastructure
  •     Test tools
  •     Risks
  •     References (Product plan or Change request, Quality document(s), etc.)
Test Plans are made up of Test Cases imported from a Test Specification at a specific point of time. Test Plans may be created from other Test Plans. This allows users to create Test Plans from Test Cases that exist at a desired point in time. This may be necessary when creating a Test Plan for a patch. In order for a user to see a Test Plan they must have the proper rights. Rights may be assigned (by leads) in the define User/Project Rights section. This is an important thing to remember when users tell you they can't see the project they are working on.

Test Plans may be deleted by users with lead privileges.
 
Test CaseA Test Case describes a simple task in the workflow of an application. A test case is a fundamental part of TestLink. After a tester runs a test case it can either pass, fail or block it. Test cases are organized in test suites. Test Cases have the following parts:
  • Identifier of a Test Case is assigned automatically by TestLink, and can not be changed by users. This ID composes from Test Project prefix and a counter related to the Test Project in which the Test Case is created.
  • Title: could include either short description or abbreviation (e.g. TL-USER-LOGIN)
  • Summary: should be really short; just for overview, introduction and references.
  • Steps: describe test scenario (input actions); can also include precondition and clean-up information here.
  • Expected results: describe checkpoints and expected behaviour of a tested product or system.
  • Attachments: could be added if configuration allows it.
  • Importance: Test designer could set importance of the test [HIGH, MEDIUM and LOW].
  • Execution type: Test designer could set automation support of the test [MANUAL/AUTOMATED]
  • Custom fields: Administrator could define own parameters to enhance Test Case description or categorization. Large custom fields (more than 250 characters) are not possible. But information could be added into parent Test Suite and referred via custom fields. For example you can describe Configuration 'standard', 'performance', 'standard_2' and refer via CF to this labels.
UserEach TestLink user has an assigned Role that defines the features available. The default types are: Guest, Test Designer, Senior tester, Tester, Leader and Administrator but custom roles can also be created.
 
Test ProjectsTest Projects are the basic organisational unit of TestLink. Test Projects could be products or solutions of your company that may change their features and functionality over time but for the most part remains the same. Test Project includes requirements documentation, Test Specification, Test Plans and specific user rights. Test Projects are independent and do not share data.
Test Specifications

TestLink breaks down the Test Specification structure into Test Suites and Test Cases. These levels are persisted throughout the application. One Test Project has just one Test Specification.