All right, welcome everybody to Introduction to Software Engineering.
Today, unfortunately, I'm on a business trip in Munich.
I just had an invited talk here at a conference and now I have to broadcast the presentation
of today via Zoom.
So I'm very sorry about that, but I didn't want to miss, of course, the lecture because
software engineering is very dear to me.
So far, let's think of where we have been starting off.
We had the software engineering process.
We've seen software projects fail all the time.
They get more expensive than they should be.
And maybe there is something wrong in the way how we develop software.
Then we started thinking about this and figured out several certain ideas what could be done
to improve the software processing.
And we thought of different processes that could be applied, more static ones and more
dynamic ones that could help us to implement better software.
Then we went all the way down from the requirement specification, where we can already prevent
a lot of mistakes and misunderstandings.
Then we thought about the system architecture, talked about implementation details, design
patterns and some good practices for programming.
And now we're essentially at the level where we want to investigate whether we're doing
things right.
So this is where we talk about software testing.
And testing is now essentially the idea that we want to think about, can we prevent bugs?
What can be done in order to avoid it?
And that's exactly where the software test comes in.
And there is actually a variety of different ideas around software testing.
Obviously, you should start the testing early on.
And we will show a little bit of how unit test works.
I think most of you should already know unit tests because they have been also used in
order to evaluate exercises and give feedback on implementation level in a way that you
can already during the coding figure out what's going on.
So unit tests are extremely useful.
The next higher level would then be a component test, where we have an entire piece of software
that can be tested.
And finally, there is a system test where you integrate the different components of
the system and test on that level.
So we're essentially from the building blocks, from small scale to larger scale to large
scale.
And further on, we will discuss a little bit test driven development.
This is where you essentially code the test first and then you start implementing the
actual the actual code that is supposed to give the functionality.
Last two topics of today will be release testing, where we think about before we give out the
software to, you know, before we release it to the public, to users, we can have a final
release test.
That's also a very, very common procedure.
And in some ISO certified companies, it's also mandatory to have proper release testing,
particular medical products, the software products.
They also have this release testing.
And the final stage here is user testing.
And I think most of you also have encountered user tests.
Presenters
Zugänglich über
Offener Zugang
Dauer
00:38:24 Min
Aufnahmedatum
2024-06-27
Hochgeladen am
2024-07-04 14:16:04
Sprache
en-US