Fractal testing

Hello, my name is Dmitry Karlovsky and I ... love to drive all kinds of strange game. Beware, after this talk you may have a strange, but irresistible desire to remove all unit and e2e tests from your project, because they require a lot of resources, but give little profit.





โ€” TechLead Conf 2020. , .





  • 25
  • 15






? !





, . , , . , . . , , , .



? !



  • ,


, .



? !





.



? !





D, , โ€” . , .



:



, .





, , , , .



:





, .



:





, .







, .



()



โ€” , . , , .





" " "E2E ".



()



โ€” . .





, " " " ".



()



โ€” . , , .





" ". " ", , โ€” , .





, , , .





, . - .





, , .







, .





. . . , .



:



. , , .



sum( 1 , 2 )

function sum( a , b ) {
    logger.trace( a , b )
    return algebra.apply( '+' , a , b )
}


, .



new Sum( algebra , logger ).exec( 1 , 2 )

class Sum {

    constructor(
        private algebra,
        private logger,
    ) {}

    exec( a , b ) {
        logger.trace( a , b )
        return algebra.apply( '+' , a , b )
    }

}


( ) .



:





B. 10 , 10 . 10 , .





. :





, . , :





, , .



:



, . , .





:



, , . , .





, , , .



:





- . .



:



. , . , . , , , 100. , TestBed.





10 .



:



, ..



  1. ""


, , JIT-. .



:



, - - .





DD , B. , , , , ( ) ( ).



: ?



โ€” , .







, , , . , , , , .





: !



, , , , .





, MAM , , . . , , .



:



, , , .





. โ€” , . โ€” , . .



:



, , , . , , .





, โ€” , , . , .



:



, . ..



const app = new Todomvc({ context })

const title = guid()
const rowsPrev = app.rows()

app.NewTitle().value( title )
app.NewSubmit().click()

assertEqual( app.rows()[0].title() , title )
assertEqual( app.rows().slice(1) , rowsPrev )
assertEqual( app.NewTitle().value() , '' )


, , . , . , , .



, . , , .



:



...



  1. NodeJS


: .



:



..





:



, , ..



  • ,
  • ,




...





, - . , .



. . .





, ..



?
+
+
+*


.





...



  • web-
  • 5
  • 300


.





, .







. , , , .





Kent Beck, TDD, , "" , .



:





, .



:





, . , . .



:





. , . . : , .



:





, , , , , . , .



?







  • 1 โ€” .
  • 2 โ€” - , , . . ยซยป ...
  • 3 โ€” , , , , .
  • 3 โ€” , .
  • 3 โ€” , ?
  • 4 โ€” , . 2 .
  • 4 โ€” , - .
  • 5 โ€” , , .
  • 5 โ€” .



All Articles