<< Chapter < Page
  Software engineering     Page 15 / 15
Chapter >> Page >

Evaluation of test phase reports can be combined with root-cause analysis to evaluate test process effectiveness in finding faults as early as possible. Such an evaluation could be associated with the analysis of risks. Moreover, the resources that are worth spending on testing should be commensurate with the use/criticality of the application: different techniques have different costs and yield different levels of confidence in product reliability.

Termination

A decision must be made as to how much testing is enough and when a test stage can be terminated. Thoroughness measures, such as achieved code coverage or functional completeness, as well as estimates of fault density or of operational reliability, provide useful support, but are not sufficient in themselves. The decision also involves considerations about the costs and risks incurred by the potential for remaining failures, as opposed to the costs implied by continuing to test.

Test reuse and test patterns

To carry out testing or maintenance in an organized and cost-effective way, the means used to test each part of the software should be reused systematically. This repository of test materials must be under the control of software configuration management, so that changes to software requirements or design can be reflected in changes to the scope of the tests conducted.

The test solutions adopted for testing some application types under certain circumstances, with the motivations behind the decisions taken, form a test pattern which can itself be documented for later reuse in similar projects.

Test activities

Under this topic, a brief overview of test activities is given; as often implied by the following description, successful management of test activities strongly depends on the Software Configuration Management process.

Planning

Like any other aspect of project management, testing activities must be planned. Key aspects of test planning include coordination of personnel, management of available test facilities and equipment (which may include magnetic media, test plans and procedures), and planning for possible undesirable outcomes. If more than one baseline of the software is being maintained, then a major planning consideration is the time and effort needed to ensure that the test environment is set to the proper configuration.

Test-case generation

Generation of test cases is based on the level of testing to be performed and the particular testing techniques. Test cases should be under the control of software configuration management and include the expected results for each test.

Test environment development

The environment used for testing should be compatible with the software engineering tools. It should facilitate development and control of test cases, as well as logging and recovery of expected results, scripts, and other testing materials.

Execution

Execution of tests should embody a basic principle of scientific experimentation: everything done during testing should be performed and documented clearly enough that another person could replicate the results. Hence, testing should be performed in accordance with documented procedures using a clearly defined version of the software under test.

Test results evaluation

The results of testing must be evaluated to determine whether or not the test has been successful. In most cases, “successful” means that the software performed as expected and did not have any major unexpected outcomes. Not all unexpected outcomes are necessarily faults, however, but could be judged to be simply noise. Before a failure can be removed, an analysis and debugging effort is needed to isolate, identify, and describe it. When test results are particularly important, a formal review board may be convened to evaluate them.

Problem reporting/test log

Testing activities can be entered into a test log to identify when a test was conducted, who performed the test, what software configuration was the basis for testing, and other relevant identification information. Unexpected or incorrect test results can be recorded in a problem-reporting system, the data of which form the basis for later debugging and for fixing the problems that were observed as failures during testing. Also, anomalies not classified as faults could be documented in case they later turn out to be more serious than first thought. Test reports are also an input to the change management request process.

Defect tracking

Failures observed during testing are most often due to faults or defects in the software. Such defects can be analyzed to determine when they were introduced into the software, what kind of error caused them to be created (poorly defined requirements, incorrect variable declaration, memory leak, programming syntax error, for example), and when they could have been first observed in the software. Defect-tracking information is used to determine what aspects of software engineering need improvement and how effective previous analyses and testing have been.

References:

http://en.wikipedia.org/wiki/Software_testing, http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-171Fall2003/CourseHome/,http://www.cs.cornell.edu/courses/cs501/2008sp/, http://www.comp.lancs.ac.uk/computing/resources/IanS/SE7/,http://www.ee.unb.ca/kengleha/courses/CMPE3213/IntroToSoftwareEng.htm, http://www.cs.kuleuven.ac.be/~dirk/ada-belgium/aia/contents.html#5,http://www.softwareqatest.com/qatfaq1.html, etc...

Questions & Answers

what is cmmi
Mulukutla Reply
what are the benefits of been a software engineer
Amissah
hi
Sunday
gud morning oo
Sunday
kk
Sunday
the benefits are life changing
Louis
can have your own ai
Louis
an ai system
Louis
is studying software engineer needs to be math expertise?
Carmela
depends on what your doing
Louis
grasp the whole field by being a problem solver
Louis
mathematics is the language of computing
Louis
but also its the language of the universe
Louis
before you start typing code please plan on pen and paper first with a goal in mind.
Louis
Thank you !!
Carmela
Are you a software engineer already?
Carmela
mathematics is not compulsory for coding
Nadday
just needed basic Nexus calculations
Nadday
what programming language ?
Louis
@Carnela Villegas : Your welcome
Louis
engineering in process student of software engineering
Nadday
@Naddy Naddy: What programming language are you using if i may ask ?
Louis
couple of languages are there not bounded specifically to single one
Nadday
python, Java, Java script, php, swift, go, c# and many more are trending in
Nadday
Java is now superseding his popularity but still the one of the most used coding language
Nadday
I want to be a software engineer too ...
Carmela
best of luck
Nadday
python is now
Louis
python is used by nasa and for data science aswell for live coding and hacking
Louis
it is the fastest growing language to date
Louis
but being efficient at math is a general stand point if your not language specific
Louis
but c++ can't be beat
Louis
especially with the new c++20 coming
Louis
swift for apple
Louis
swift is made by c code
Louis
c++ is > c
Louis
yes pathon is invented in 1991 by guido van rusom it's popular now a days but it's literally used now as much a Java and Java script php but still most popular python
Nadday
c made java
Louis
java is still convenient though
Louis
c made by bell laboratories one of the basic coding languages
Nadday
windows also used it
Nadday
it just depends on what goal you have in mind to you have in mind to use programming language as a conversion
Louis
mathematics > any programming language
Louis
😊
Louis
sorry I've accidentally placed a question mark lol
Louis
😂
Louis
sorry I couldn't get your point
Nadday
no i was saying my device placed 2 question marks accidentally
Louis
but your very intelligent aswell my friend where do you stay if i may ask @Naddy Naddy ?
Louis
I am from Pakistan
Nadday
awesome im from united states my friend nice to meet you lol
Louis
thank you same here
Nadday
😇
Louis
I am doing coding for the elimination of the cyber crimes and strengthen the cyber security
Nadday
Thats awesome im a defcon spy
Louis
white hat
Louis
im a good guy 😊
Louis
nice to hear
Nadday
coding phenomena practice practice and practice
Nadday
yeah same
Louis
thanks. good to know - ' practice practice and practice!'
oh yeah guys alien being exist other than us
Louis
👽
Louis
I like to be software engineer
Toheeb
what is the leading programming language in the world?
HANAN
I have mentioned the names above
Nadday
@HANAN
Louis
ahh ok i will check @Nadday Nadday
HANAN
java ri8 🤞 @Nadday Nadday
HANAN
yes Java is also but not we could limitize the premises
Nadday
there are many others also
Nadday
i mean i ask the best top 1 ..which language is that @Nadday Nadday
HANAN
@HANAN THE PROGRAMMER IS THE LEADING PROGRAMMING LANGUAGE OF THE WORLD IG YOU KNOW WHAT I MEAN
Louis
@HANAN whatever language your most comfortable with
Louis
ohhh thank u @Louis johnson
HANAN
i love to be a software engineer but i dont know how to learn😔
HANAN
go for formal education
Nadday
now i m doing Advance level + HND in Computing and System Develipment... this time i have to finish my assignment but still i didn't finish ... i like to be a software engineer ....but i don't know how to
HANAN
your previous education level @hanan?
Nadday
@HANAN as an advanced human just build your own learning strategy in which is the best way anyway through trial and error or books self learn teach output to others who are willing to learn from ground up from the organization you've built and spread
Louis
@louis johnson ok i will try😊👍...anyway thank u soo much guys @Nadday and @louis
HANAN
@HANAN any errors that need to be fixed just fix along the way in future from your atomic learning process
Louis
learn the difference in micro and macro put it to use as a handle in real reality objective analysis
Louis
thank u soo much bro @louis ...are u a software engineer?
HANAN
your major sujects in hnd
Nadday
I'm a Human lol
Louis
make your basic concepts through c and C ++
Nadday
but yes im a core engineer
Louis
you can say Engineering scientist
Louis
it is the sole centre and Nexus of coding
Nadday
how to start making a software?
Jerry Reply
books or teacher
Louis
both of
Hemant
both
ben
i prefer books and a reference teacher on side im self taught self learn everything
Louis
time is your best friend
Louis
I want learn more as well
Ogunrinde
well honestly it would be too large to explain everything in chat but, pick the programming language of choice your most comfortable with, learn that language, make it yours, use it as a primary language to learn in parallel any other language of object oriented programming,
Louis
also it wouldn't hurt to have a basic background in math
Louis
but be a scientist behind the machine(Computer)
Louis
have math be your way of translation of human to computer interaction because you can solve any problem in the universe with mathematics
Louis
good to know discrete topics embedded systems, electrical engineering
Louis
doesn't hurt to have a buddy to team up on project while your asleep to keep progressing
Louis
(Important!..) have real data to work on, the reason is because there have to be some goal to be achieved at some point.
Louis
Be alittle greedy to learn any and all about any language you use.
Louis
Another important thing is not to rush through learning
Louis
once you learn a concept try teaching the concept to someone else who is as interested as you are, that way. the concept will be stuck concretely in your mind.
Louis
slow but sure please guys.education is not like food.
Emmanuel
if you like graphics and games you can use a language that have graphics libraries such as C++, Python, or Java as an example
Louis
who can tell Why software is more important in computer science
Emmanuel
don't just learn alittle want the whole thing and want to know everything at your finger tips
Louis
grasp
Louis
because the hardware and software is useful depends on how useful your goal is
Louis
graphics is not about database management system.c++ is about programming.
Emmanuel
be an android who's drug is "addicted to information" related to the field.
Louis
and in need of the most complex algorithm update
Louis
learn console applications
Louis
how does your languge relate to databases
Louis
and web programming
Louis
i know just throwing some things your way to open mind
Louis
im certi at c++
Louis
it is a general programming language used to build many infrastructure
Louis
including database web and many other soft ware frameworks
Louis
excellent
Ogunrinde
Thanks
Louis
Suppose we are faced with developing a system that we expect to have 100000LOC. Compute the effort and the effort development time for each of the three development modes i.e. Organic, semi - detached and embedded .
yukta Reply
c++ or python or java
Louis
Discuss multi threading as used in windows, Linux and Unix
James Reply
what is software ?
Chirag Reply
Software is a general term for the various kinds of programs used to operate computers and related devices...
amjad
what is ergonomics.
amjad
er·go·nom·ics ˌərɡəˈnämiks/ noun the study of people's efficiency in their working environment
Louis
what is software integration?how can you integrate two different softwares with one single module?
strings Reply
Either type casting or template rogramming through STL
Louis
use c++
Louis
what is the STL?
abdo
STANDARD TEMPLATE LIBRARY
Louis
thanks louis
abdo
your welcome my friend
Louis
I have another question guy's.What's the HTML?
Zuheyp Reply
An HTML is  a standardized system for tagging text files to achieve font, colour, graphic, and hyperlink effects on World Wide Web pages.
Hemant
it is also a computer language devised to allow website creation
Hemant
you're clever Man
Zuheyp
i have a c++ question
Louis
C++ is a general-purpose, case-sensitive, free-form programming language that supports procedural, object-oriented, and generic programming. C++ is regarded as a middle-level language, as it comprises a combination of both high-level and low-level language features. C++ was deve
Zuheyp
what's the relationship Design Define Debug Development Development
Zuheyp Reply
sorry question is confusing
Louis
ok
Zuheyp
Define attached Design attached Development attached Debug attached Deployment attached Define
Zuheyp
Attach and deploy components to environments instead of directly to an Atom. Components can be attached and deployed to different environments with unique build versions and can include different deploy-time settings.
Hemant
is it same?
Zuheyp
and debug:If your app is already running on your device, you can start debugging without restarting 
Hemant
yeah that's cool
Zuheyp
Am mean that's right
Zuheyp
and select the debug target
Hemant
What is C language?
Bashir Reply
short note on software engineering
prachi Reply
am interested
marvellous
Explain human computer interaction
amjad
AI
Louis
Human computer interaction is the study of how people interact with computers and to what extent computers are or are not developed for successful interaction with human beings. 
Hemant
human needs for the computer[stated]
Louis
AI=Artificial Intelligence
Louis
all explained abstractingly
Louis
Please give me a Standard definition of the word *software*
marvellous
collection of program is called software
Hemant
what is sowftware?
rana Reply
please correct the spellings of software
majid
kk
Amissah
soft ware is the Application of principles used in field of engineering
Zuheyp
how do you compare c++ concepts with unity and directx pipeline
Louis
software is a collection of program.
Hemant
software engineering eligiblelity criteria for DAE civil students?
Engr Reply
what is software?
Abdullahi Reply
software means instructions or data that enable computers to work
majid
hi
Abdullahi
majid
Abdullahi
yes abdullahi
majid
how you
Abdullahi
i want to be software engineer ing
Abdullahi
I am fine
majid
software is a collection of program
Hemant
I want to learn software engineering what should I do
Emmanuel
googles your best friend, amazon books, barnes and noble etc..
Louis
software is the set of computer programs executing on computer ; they're made of instructions know as Algorithm. an Algorithm is a sequence of instructions designed to solve a particular problem. Software is all virtual parts of the computer ; computer programs. Software must be well designed.
Manuel
Emmanuel Adebayor. you need to investigate what university has a good level at teaching, this is the most important thing at University to become one the best professional software engineer on earth. You can either get information from public universities or consulting in particular Univesities
Manuel
I'm a software engineer student and I can tell you , you can learn a lot of interesting things about the career, I'm sure you won't regret it.
Manuel
What is design pattern in software engineering? Explain briefly...
amjad
thanks to allow
Hemant
what are the good books to read as a beginner of software engineer.
ben
hi everyone, I'm so happy that I found myself in the mist of knowledgeable people right here, I know that by following this conversation, and by putting it into practice I will an expert in software engineering
Ogunrinde
hi! how to start making a software?
Jerry
can i get more information about data structured centered design
Samir Reply
what is best course to get job
Eswar Reply
engineering
Abdullahi

Get the best Software engineering course in your pocket!





Source:  OpenStax, Software engineering. OpenStax CNX. Jul 29, 2009 Download for free at http://cnx.org/content/col10790/1.1
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Software engineering' conversation and receive update notifications?

Ask