-
So this, in chapter five, the testing
overview. This is, this is Brian
-
Kernighan, the author, one of the Bell
Labs, heroes who the author of the
-
Kernighan and Ritchie book on [inaudible]
that probably most of you had. The, and
-
it's, if you read it a couple, you can get
it. Debugging is twice as hard as writing
-
code in the [inaudible]. Therefore, it's
twice as hard, right? So therefore, if you
-
write the cleverest code the first time,
you're never gonna be able to debug it,
-
'cause it's twice as hard. Alright, this
one, this is Dystra test and you've gotta
-
fill in the blank. Testing can never
demonstrate the. Absence of air is only
-
there. Presence, right? Well that's,
that's been around for a long time, and
-
just gotta keep that in mind. Here is an
article that came out a year and a half
-
ago, and it says why are things expensive.
And you can see here that their study is
-
it's not that there's bugs and [inaudible]
in design, it's just lousy testing
-
features, lousy, lousy testing processes
are reasons that there's, there's so many
-
bugs in code. And it says here that
completely automated testing environments
-
are rare. This was a year and a half ago.
Still, we're just twenty, twelve percent
-
of software [inaudible] organizations have
fully automated testing systems. Ten
-
percent do all testing manually. Right? So
you write the test. You look at the
-
output. You write the test. Look at the
output. See any mistakes? Okay. So, wow,
-
can't believe that, that, that's still
true. That's not true here. [laugh]. You
-
know? For agile before the hand, you have
a separate quality assurance team. So you
-
have all these phases and separate groups
of people. So, Marge, somehow, the quality
-
assurance team was supposed to insert
quality in your code. [laugh]. Or make
-
sure that you, you have quality in your
code. With Agile, it's part of everything
-
we do. We're testing continuously. Every
week, we bring out new code. You're
-
responsible for testing your code, not
somebody else. And the tools are highly
-
[inaudible] so unlike that, that statement
that was done before. And so what the
-
argument here in the [inaudible] the
actual manifesto is that if with a good
-
process we'll get soft quality rather than
there's a specific group that's supposed
-
to insure it that they're gonna beat you
up if you don't have it. So. Bdd and TDD
-
was I said earlier. The phrase behavior
driven design was inspired by some people
-
getting confused about test driven
development. Here we're testing acceptance
-
tests, integration tests, and trying to
capture the behavior. Tdd is gonna be step
-
definitions and actually write unit tests
and function tests, before you write the
-
code. So that's the. So the good news is,
you're always gonna have the test up to
-
date because you're writing the code or
even before it. So here's how they work
-
together. Cucumbers describe the
[inaudible]. You, you start off writing
-
the stories you want. They fail. Then it
invokes the implementations, the
-
[inaudible] test. If it fails, you then,
you implement the methods that are
-
missing. And then when it passes the
[inaudible] test, you keep iterating
-
internally until you pass the [inaudible].
And then once you've implemented the
-
feature properly, it, it will pass the
cucumber green step and you go back and
-
keep going through the development.