Domäne
Testing & QA
Skill-Profil
Hypothesis, QuickCheck, generative testing, shrinking, invariants
Rollen
8
wo dieser Skill vorkommt
Stufen
5
strukturierter Entwicklungspfad
Pflichtanforderungen
25
die anderen 15 optional
Testing & QA
Test Strategy
17.3.2026
Wählen Sie Ihr aktuelles Level und vergleichen Sie die Erwartungen.
Die Tabelle zeigt, wie die Tiefe von Junior bis Principal wächst.
| Rolle | Pflicht | Beschreibung |
|---|---|---|
| Backend Developer (Elixir) | Understands the fundamentals of property-based testing with StreamData and ExUnitProperties. Writes basic property tests for pure Elixir functions. Follows team conventions for generator definitions and test structure. | |
| Backend Developer (Rust) | Understands the fundamentals of property-based testing with proptest and quickcheck crates. Writes basic property tests leveraging Rust's type system for input generation. Follows team guidelines for strategy composition. | |
| Backend Developer (Scala) | Understands the fundamentals of property-based testing with ScalaCheck. Writes basic generators and properties for Scala data types. Follows team practices for verifying algebraic laws and Cats-effect type class instances. | |
| Compiler Engineer | Knows basic property-based testing concepts for compiler engineering and can apply them in common tasks. Uses standard tools and follows established team practices. Understands when and why this approach is used. | |
| Language Tooling Engineer | Understands the fundamentals of property-based testing for language tooling. Writes basic property tests for parser round-trips and AST invariants. Follows team conventions for generator construction of syntactic structures. | |
| QA Automation Engineer | Pflicht | Understands the fundamentals of property-based testing for automated QA. Writes basic property tests with data generators for common input domains. Follows team recommendations for integrating property tests into existing test suites. |
| QA Security Engineer | Pflicht | Understands the fundamentals of property-based testing for security verification. Applies basic fuzzing techniques to validate input sanitization and boundary properties. Follows team guidelines for defining security invariants in tests. |
| Smart Contract Developer | Understands the fundamentals of property-based testing for smart contracts. Writes basic invariant tests using Foundry fuzz testing and Echidna. Follows team practices for defining contract state properties and assertion checks. |
| Rolle | Pflicht | Beschreibung |
|---|---|---|
| Backend Developer (Elixir) | Implements property-based tests in Elixir using StreamData. Defines generators for basic types and Ecto schemas, writes properties for verifying business logic invariants. Integrates StreamData with ExUnit through use ExUnitProperties for automatic test case generation. | |
| Backend Developer (Rust) | Applies property-based testing in Rust through proptest crate: generating random input data with Strategy, verifying business logic invariants. Writes shrinkable strategies for domain types and uses prop_assert! for property verification. | |
| Backend Developer (Scala) | Applies property-based testing in Scala through ScalaCheck: defines properties for pure functions, generates test data through Arbitrary and Gen. Integrates ScalaCheck with ScalaTest/MUnit, understands shrinking concept for minimizing failing cases in domain models. | |
| Compiler Engineer | Confidently applies property-based testing for compiler engineering in non-standard tasks. Independently selects optimal approach and tools. Analyzes trade-offs and suggests improvements to existing solutions. | |
| Language Tooling Engineer | Independently designs property tests for compiler passes and code transformations. Builds custom generators for complex AST structures. Integrates property-based test suites into CI/CD pipelines to catch semantic regressions. | |
| QA Automation Engineer | Pflicht | Independently develops property-based test suites with custom generators and shrinking strategies. Applies test design techniques to maximize input space coverage. Integrates property tests into CI/CD and covers complex edge cases. |
| QA Security Engineer | Pflicht | Applies property-based testing for security: random input generation for fuzzing, invariant checking for authorization rules. Uses Hypothesis/QuickCheck for security properties. |
| Smart Contract Developer | Independently develops invariant test suites for smart contract protocols using Foundry and Echidna. Designs property assertions for token balances, access control, and state transitions. Integrates fuzz campaigns into CI/CD pipelines. |
| Rolle | Pflicht | Beschreibung |
|---|---|---|
| Backend Developer (Elixir) | Pflicht | Designs comprehensive property-based testing for Elixir projects through StreamData. Creates custom generators for complex domain objects, implements stateful tests for GenServer. Applies shrinking for minimizing failing cases, tests Ecto queries and protocols. |
| Backend Developer (Rust) | Pflicht | Develops comprehensive proptest strategies for Rust services: strategy composition for complex domain objects, stateful testing through prop_state_machine. Integrates fuzzing through cargo-fuzz and AFL for discovering unstable paths and testing unsafe code. |
| Backend Developer (Scala) | Pflicht | Designs property-based testing strategy for Scala services: custom generators for domain types, stateful property testing for Akka Actors. Implements combinatorial generators through ScalaCheck or ZIO Test Gen, tests business logic invariants and Protobuf message serialization/deserialization. |
| Compiler Engineer | Expertly applies property-based testing for compiler engineering in designing complex systems. Optimizes existing solutions and prevents architectural mistakes. Conducts code reviews and trains colleagues on best practices. | |
| Language Tooling Engineer | Pflicht | Designs property-based testing strategy for the entire language toolchain. Implements automated verification of compiler correctness, optimizer invariants, and code generation properties. Mentors the team on effective generator design and shrinking. |
| QA Automation Engineer | Pflicht | Designs organization-wide property-based testing strategy across test levels. Implements automated model-based testing and stateful property verification. Optimizes the test pyramid by replacing redundant example tests with properties. Mentors the team. |
| QA Security Engineer | Pflicht | Designs property-based security tests: stateful testing for authentication flows, model-based testing for RBAC, generative fuzzing for input validation. |
| Smart Contract Developer | Pflicht | Designs comprehensive invariant testing strategy for DeFi protocols and complex contract systems. Implements multi-contract stateful fuzzing with Echidna and Foundry. Optimizes fuzz campaign configurations for maximum vulnerability discovery. Mentors the team. |
| Rolle | Pflicht | Beschreibung |
|---|---|---|
| Backend Developer (Elixir) | Pflicht | Implements property-based testing as a standard practice across all Elixir projects. Defines testing strategy through StreamData for critical modules, trains the team on writing properties and generators. Creates a library of common generators for organizational domain objects. |
| Backend Developer (Rust) | Pflicht | Defines property-based testing standards for Rust platform: mandatory proptest suites for critical business logic, CI integration with regression files. Develops shared strategy libraries for domain types and fuzzing coverage standards for unsafe code. |
| Backend Developer (Scala) | Pflicht | Defines property-based testing standards for Scala team: mandatory property tests for codecs and serialization, shared generator library. Reviews property quality, implements ZIO Test for effect-based property testing and integrates generators with inter-service contract tests. |
| Compiler Engineer | Establishes property-based testing standards for the compiler engineering team and makes architectural decisions. Defines technical roadmap considering this skill. Mentors senior engineers and influences practices of adjacent teams. | |
| Language Tooling Engineer | Pflicht | Defines property-based testing strategy at the product level for language tooling platforms. Establishes quality standards for compiler and parser verification using formal properties. Drives adoption of specification-driven testing culture across the engineering organization. |
| QA Automation Engineer | Pflicht | Defines property-based testing strategy at the product level for quality assurance. Establishes standards for property specification, generator libraries, and coverage metrics. Implements shift-left testing culture by embedding property-based verification early in the development lifecycle. |
| QA Security Engineer | Pflicht | Defines property-based security testing standards: templates for typical security properties (auth, authz, input validation). Integrates into the security testing workflow. |
| Smart Contract Developer | Pflicht | Defines testing strategy at product level. Establishes quality assurance standards. Introduces shift-left testing culture. |
| Rolle | Pflicht | Beschreibung |
|---|---|---|
| Backend Developer (Elixir) | Pflicht | Defines property-based testing strategy for the organizational Elixir platform. Develops StreamData framework with generators for all domains, integrates stateful testing for distributed systems. Implements model-based testing for OTP behaviour verification. |
| Backend Developer (Rust) | Pflicht | Shapes organizational formal verification and property testing strategy: combining proptest, cargo-fuzz and Kani (bounded model checking) for critical components. Defines continuous fuzzing processes through OSS-Fuzz, correctness proof standards and coverage metrics. |
| Backend Developer (Scala) | Pflicht | Shapes property-based testing culture at organizational level: standards for Scala projects, shared generator libraries for domain types. Defines integration of property-testing with formal verification approaches, introduces mutation testing through Stryker4s for evaluating test property effectiveness. |
| Compiler Engineer | Shapes property-based testing strategy for compiler engineering at the organizational level. Defines best practices and influences technology choices beyond their own team. Is a recognized expert in this area. | |
| Language Tooling Engineer | Pflicht | Defines organizational QA strategy. Fosters quality engineering culture. Implements platform solutions for testing. |
| QA Automation Engineer | Pflicht | Defines the organization's QA strategy. Builds quality engineering culture. Implements platform testing solutions. |
| QA Security Engineer | Pflicht | Designs generative security testing: AI-assisted fuzzing, automated property discovery, model-based security verification. Defines organizational adoption strategy. |
| Smart Contract Developer | Pflicht | Defines organizational QA strategy. Shapes quality engineering culture. Introduces platform solutions for testing. |