2

I was reading about these two kinds of testing and I'm not sure what's the difference between them. It seems like they both test by failing the system.

Are they actually the same? specifically when testing micro services in a cloud environment.

1
  • 1
    Great question. I have frequently been in discussions where at least two people were using the same term but thought they were talking about different things.
    – dank8
    Oct 31, 2022 at 15:58

2 Answers 2

2

I’m going to respond as an answer, instead of a comment. The short version is that neither term has a rigidly defined meaning, so depending on who you’re talking to, there might be no difference or a large difference. Chaos Testing/Engineering especially is a buzzzword that can mean almost anything, depending on the context.

This is a problem with SQA in general, I’ve found. There are some organizations that have tried standardizing terms, but it’s an uphill battle at best. I work in a a company where even different areas will use the same term to mean wildly different things, as they evolved the terms organically separately. So unless you’re studying for a test or writing a paper, I wouldn’t stress too much over terminology.

If forced, I’d probably classify destructive testing as a subset of chaos testing.

3
  • My context is finding methodologies for shift right testing.. does it change anything?
    – CodeMonkey
    Nov 2, 2022 at 8:13
  • 1
    Skip the "destructive" tests and stick with Chaos, the first is even less known and less defined. There quite a few good tools for doing Chaos testing that allows you to define the interface to your system and run tests as part of CI.
    – Rsf
    Nov 2, 2022 at 13:27
  • So true, each company (and its community of workers) tend to cluster around certain buzzwords using them for a specific definition that is different to the meaning an outsider might attach.
    – dank8
    Nov 3, 2022 at 7:32
1

Disclaimer: both terms are new to me. After a little looking around I also was getting confused. The descriptions are so similar. From what I can understand:

Destructive testing is about gradually increasing the volume of input to microservices until they completely stop accepting or replying to them.

  • example might be Denial-of-service attack
  • seeks to discover the highest volume a service can process without crashing

Chaos testing is a constant volume of valid inputs, with intermittent bad payload to the same set of microservices.

  • attempts to replicate real-world or race-conditions
  • seeks to confirm that services continue processing even with occasional faults or simultaneous inputs

Another way to think about it is from the point of view of the endpoints sending the payloads:

  • Both endpoints will by the end of Destructive testing no receive responses
  • with Chaos testing both endpoints should still be getting responses even for the bad requests.

Hope this helps

Side note... there is a Comsumer electronics standard that goes something like: Consumer electronics should be able to accept bad quality current(sic), and must only generate good quality current(sic)

1
  • Note that both are not just about Microservices but applicable to any system
    – Rsf
    Nov 2, 2022 at 13:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.