Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
    Brian Okken
    [Dima Spivak, Test Podcast] I mean that it's streaming at the backend or not doesn't really affect how you approach it if you're testing an API
    [Israel Fruchter, Test Podcast] (or at least didn't shared they tests, or test plans :))
    [Dima Spivak, Test Podcast] you'd obviously want to do things with parallelism to make sure stuff doesn't fall over with many users or whatnot
    [Dima Spivak, Test Podcast] but maybe give us a sense of what you're thinking and we can critique it?
    [Israel Fruchter, Test Podcast] basically it a implementation of this exact API ontop of out dynamodb drop in replacement.
    [Dima Spivak, Test Podcast] yep, got that part. I mean what sort of cases or scenarios do you have in mind to cover?
    [Israel Fruchter, Test Podcast] and out plan is to write a tool using https://github.com/awslabs/dynamodb-streams-kinesis-adapter, to duplicate the a table in realtime
    [Israel Fruchter, Test Podcast] while using YCSB to populated that table.
    [Dima Spivak, Test Podcast] gotcha. so that's more of a load test?
    [Israel Fruchter, Test Podcast] and then we could compare both, source and target versions
    [Israel Fruchter, Test Podcast] while we are stopping/killing nodes of our DB
    Brian Okken
    [Israel Fruchter, Test Podcast] i.e. with tandam of Chaos Monkey style, which we already have in place
    [Israel Fruchter, Test Podcast] we also have more specific functional tests
    [Dima Spivak, Test Podcast] yep, all seems reasonable. so this is less about testing the API than testing the behavior of your database?
    [Israel Fruchter, Test Podcast] that would cover the APIs
    [Dima Spivak, Test Podcast] (when I see "API test" I imagine more things around correctness and error handling than load in the face of fault injection)
    [Israel Fruchter, Test Podcast] I'm planning both testing the APIs in a more controlled and specific environment
    [Israel Fruchter, Test Podcast] but also in a more close to reality environment, with bigger amount of traffic going into the system
    [Dima Spivak, Test Podcast] gotcha
    [Dima Spivak, Test Podcast] so yeah, for APIs, the things most people forget are around malformed data
    [Dima Spivak, Test Podcast] payloads that are too big
    [Dima Spivak, Test Podcast] wrong datatypes being passed
    [Dima Spivak, Test Podcast] that sorta thing
    [Israel Fruchter, Test Podcast] FYI, those are the "unit-tests" the development guys were doing so far
    [Dima Spivak, Test Podcast] oh man, so nice to see pretty pytest work =D
    [Israel Fruchter, Test Podcast] yeah, it is
    [Israel Fruchter, Test Podcast] it's not mine, but I do approve most of it :)
    [Israel Fruchter, Test Podcast] whom wrote it, it's the first time he's touching pytest (or python for that matter)...
    [Israel Fruchter, Test Podcast] but he's really experienced developer, like a 20x one :)
    Brian Okken
    [Dima Spivak, Test Podcast] :) seeing error != None I thought "this guy might be a little newer to Python"
    [Dima Spivak, Test Podcast] there's that muscle memory of having read pep-8 90 times that shows in code looking "pythonic"
    [Israel Fruchter, Test Podcast] his day job, he's doing C++... so yeah :)
    [Israel Fruchter, Test Podcast] So one take I have from you @dima is approaching from the angle of a "naive" developer angle. (and make it "idiot" proof) :)
    [Dima Spivak, Test Podcast] absolutely
    [Dima Spivak, Test Podcast] the most common issues that surface are from people who don't rtfm
    [Dima Spivak, Test Podcast] so having your application respond to that gracefully is important
    [Israel Fruchter, Test Podcast] yeah, seen that sentence today on a slide, "we should invest more in helping our users, to no shoot themselves in the leg"
    [Dima Spivak, Test Podcast] e.g. people who pass payloads when the endpoint doesn't support it, query parameters when path parameters are expected, etc.
    [Israel Fruchter, Test Podcast] we mainly going to use boto3 in the functional tests, kind of assuming most folks won't use HTTP directly with an AWS like API
    Brian Okken
    [Dima Spivak, Test Podcast] eh, you'd be surprised
    [Dima Spivak, Test Podcast] a lot of folks still try to use curl for all their automation needs
    [Israel Fruchter, Test Podcast] with AWS ?
    [Dima Spivak, Test Podcast] ooh yeah.
    [Dima Spivak, Test Podcast] lol
    [Israel Fruchter, Test Podcast] that the "crazy" developer angle :)
    [Dima Spivak, Test Podcast] the things I've seen would give you nightmares
    [Dima Spivak, Test Podcast] I mean think about it, the users of your products aren't technical enough to build CassandraDB in C++ themselves
    [Dima Spivak, Test Podcast] so they find a drop in replacement
    [Dima Spivak, Test Podcast] and then if they know about bash scripts and using curl, they'll keep using that