All Projects → fulldecent → Structured Acceptance Test

fulldecent / Structured Acceptance Test

Licence: mit
An open format definition for static analysis tools

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to Structured Acceptance Test

Pandera
A light-weight, flexible, and expressive pandas data validation library
Stars: ✭ 506 (+4960%)
Mutual labels:  schema, validation, testing-tools
Phpmnd
PHP Magic Number Detector
Stars: ✭ 431 (+4210%)
Mutual labels:  static-analysis, analysis, checker
lints
Lint all your JavaScript, CSS, HTML, Markdown and Dockerfiles with a single command
Stars: ✭ 14 (+40%)
Mutual labels:  analysis, checker, static-analysis
Security Code Scan
Vulnerability Patterns Detector for C# and VB.NET
Stars: ✭ 550 (+5400%)
Mutual labels:  static-analysis, analysis
Bzppx Codepub
暴走皮皮虾之代码发布系统,是现代的持续集成发布系统,由后台管理系统和agent两部分组成,一个运行着的agent就是一个节点,本系统并不是造轮子,是"鸟枪"到"大炮"的创新,对"前朝遗老"的革命.
Stars: ✭ 471 (+4610%)
Mutual labels:  continuous-integration, continuous-testing
Superstruct
A simple and composable way to validate data in JavaScript (and TypeScript).
Stars: ✭ 5,604 (+55940%)
Mutual labels:  schema, validation
Graphql Query Complexity
GraphQL query complexity analysis and validation for graphql-js
Stars: ✭ 424 (+4140%)
Mutual labels:  analysis, validation
Marshmallow
A lightweight library for converting complex objects to and from simple Python datatypes.
Stars: ✭ 5,857 (+58470%)
Mutual labels:  schema, validation
Phan
Phan is a static analyzer for PHP. Phan prefers to avoid false-positives and attempts to prove incorrectness rather than correctness.
Stars: ✭ 5,194 (+51840%)
Mutual labels:  static-analysis, analysis
Modern Cpp Template
A template for modern C++ projects using CMake, Clang-Format, CI, unit testing and more, with support for downstream inclusion.
Stars: ✭ 690 (+6800%)
Mutual labels:  static-analysis, continuous-integration
Gocd
Main repository for GoCD - Continuous Delivery server
Stars: ✭ 6,314 (+63040%)
Mutual labels:  continuous-integration, continuous-testing
Gaia
Build powerful pipelines in any programming language.
Stars: ✭ 4,534 (+45240%)
Mutual labels:  continuous-integration, continuous-testing
Abstruse
Abstruse is a free and open-source CI/CD platform that tests your models and code.
Stars: ✭ 704 (+6940%)
Mutual labels:  continuous-integration, continuous-testing
Sonar Java
☕️ SonarSource Static Analyzer for Java Code Quality and Security
Stars: ✭ 745 (+7350%)
Mutual labels:  static-analysis, analysis
Valley
Extensible schema validations and declarative syntax helpers in Python.
Stars: ✭ 25 (+150%)
Mutual labels:  schema, validation
Meteor Astronomy
Model layer for Meteor
Stars: ✭ 608 (+5980%)
Mutual labels:  schema, validation
Strictyaml
Type-safe YAML parser and validator.
Stars: ✭ 836 (+8260%)
Mutual labels:  schema, validation
Specs
Technical specifications and guidelines for implementing Frictionless Data.
Stars: ✭ 403 (+3930%)
Mutual labels:  schema, validation
Binee
Binee: binary emulation environment
Stars: ✭ 408 (+3980%)
Mutual labels:  static-analysis, analysis
Jenkins Build Monitor Plugin
Jenkins CI Build Monitor Plugin
Stars: ✭ 695 (+6850%)
Mutual labels:  continuous-integration, continuous-testing

Structured Acceptance Test

Structured Acceptance Test ("STAT") is a simple and extensible standard for acceptance testing processes. The target of the test can be any set of computer files, for example source code, images, audio files and documents. The process can be an automated computer program, manual execution of a test plan or even a committee review. The outcome of the process is findings and recommendations which can be used to improve the target and can indicate a pass or fail result.

The STAT Output Specification defines how a process can express the outcome, findings and recommendations

Who can use it?

This standard is applicable for any automated or manual process that accepts computer files as input and can express opinions about them. Examples of such processes include:

  • Static code analyzers
  • Code linters
  • Code style checkers
  • Minification checkers
  • Other static analyzers
  • Image metadata checkers
  • Image compression checkers
  • Spelling checkers
  • Grammar checkers
  • Digital signature verification
  • Dynamic code analysis
  • Unit tests (logic tests)
  • Automated UI tests
  • Continuous integration tests
  • Volatile testing
  • Link checkers
  • Package manager version checkers (requirement to use latest upstream versions)
  • Deployment testing (dry run)
  • Manual testing
  • Manual inspection
  • Manual walkthroughs
  • Unstructured customer feedback
  • Committee vote

The acceptance testing outcome, findings and recommendations can be used (consumed) by:

  • Interactive file editors (IDEs, text editors, word processors, image editors)
  • Command-line reporting tools (unit test reports)
  • Source code management / content management systems

Why should I use it? XKCD 927?

If your acceptance testing process uses a standardized output format then consumers can make better use of it.

Integrations are amazing. They allow clang compilers to show compile errors in your integrated development environment, they allow spelling errors to be underlined in your word processor and they show up as red flags when you review a pull request. But what if all of these validations can be shown everywhere they are relevant? Standardization allows this.

This is the first widely-applicable standardization of its type so XKCD 927 does not apply.

Specific features of this specification include:

  • It is simple, a few lines of Ruby can translate gcc, clang or aspell output into the required format.
  • The format is extensible, any acceptance testing process can use this format.
  • Validation output is streamable and available to the reporting tool incrementally.
  • Repeatability is specified.

Project Status

This standard is currently version 1.0.0. We follow Semantic Versioning.

  • [x] Defines the input format to select computer files
  • [x] Defines the output format for the outcome, findings and recommendations
  • [x] Follows the Google JSON Style Guide
  • [x] Supports real-time, incremental reporting
  • [x] An example computer program is produced that supports STAT
  • [x] An example computer program is produced that reads and reports the above output (Issue #6)
  • [x] Useful computer program is produced (or transformed) to support STAT
  • [x] Compatibility is established with Code Climate Engine specification

Copyright

This specification is copyright 2016 William Entriken and is released under the MIT license.

Contributing

Development of this specification happens on GitHub. Please use issues and pull requests to help improve it.

Please help to raise awareness by opening an issue with your favorite static analysis tool to support this format.

Please open an issue with your favorite integrated development environment or source code sharing tool to request interoperability with this format.


Please add your own projects below!

Supporting acceptance testing programs:

Supporting consumers:

  • Interactive file editors (IDEs, text editors, word processors, image editors)
    • YOUR NAME HERE
  • Command-line reporting tools (unit test reports)
    • YOUR NAME HERE
  • Source code management / content management systems
    • YOUR NAME HERE
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].