---
title: Overview
layout: handbook.hbs
---
# The Serenity/JS Handbook

Serenity/JS is a next-generation acceptance testing framework that can change the way you and your team think about and design your automated acceptance tests. With Serenity/JS, you can say goodbye to unmaintainable [test script spaghetti](/handbook/tutorials/) and create high-quality, user-centred test scenarios using a scalable test DSL designed specifically for *your domain* and *your business*.

The [extensible and modular design](/modules/) of Serenity/JS enables you to create various types of automated acceptance tests interacting with any interface of your system. Out of the box, Serenity/JS provides strong support for both [Web](/modules/protractor) and [HTTP/REST API](/modules/rest) testing, management of [popular Node.js HTTP servers](/modules/local-server/), as well as integration with popular test and collaboration tools, such as [Cucumber.js](/modules/cucumber), [Jasmine](/modules/protractor) or [Protractor](/modules/protractor).

On top of that, Serenity/JS comes with world-class reporting capabilities to give you insight into what requirements have been verified, and not only what tests have been executed. The living documentation produced by Serenity/JS helps you demonstrate both _what_ your system does and _why_ it's doing it and can play a significant role in establishing trust between the business and engineering, assessing the release readiness of your system, and meeting your audit requirements.

In summary, Serenity/JS can help you and your team create high-quality, reliable automated acceptance tests that are a pleasure to work with
and this handbook will help you get started.

Have fun testing!

_[Jan Molak](https://janmolak.com) and the Serenity/JS team_
