Software systems are an increasing part of life, from business applications (e.g. banking) toconsumer products (e.g. cars). Most people have had an experience with software that did not workas expected. Software that does not work correctly can lead to many problems, including loss ofmoney, time or business reputation, and could even cause injury or death.
A human being can make an error (mistake), which produces a defect (fault, bug) in the code, insoftware or a system, or in a document. If a defect in code is executed, the system will fail to dowhat it should do (or do something it shouldn’t), causing a failure. Defects in software, systems ordocuments may result in failures, but not all defects do so.Defects occur because human beings are fallible and because there is time pressure, complexcode, complexity of infrastructure, changed technologies, and/or many system interactions.Failures can be caused by environmental conditions as well: radiation, magnetism, electronic fields,and pollution can cause faults in firmware or influence the execution of software by changinghardware conditions.
Role of testing in software development, maintenance and operations(K2)Rigorous testing of systems and documentation can help to reduce the risk of problems occurringduring operation and contribute to the quality of the software system, if defects found are correctedbefore the system is released for operational use.Software testing may also be required to meet contractual or legal requirements, or industry-specificstandards.
Testing and quality With the help of testing, it is possible to measure the quality of software in terms of defects found,for both functional and non-functional software requirements and characteristics (e.g. reliability,usability, efficiency, maintainability and portability). Testing can give confidence in the quality of the software if it finds few or no defects. A properlydesigned test that passes reduces the overall level of risk in a system. When testing does finddefects, the quality of the software system increases when those defects are fixed.Lessons should be learned from previous projects. By understanding the root causes of defectsfound in other projects, processes can be improved, which in turn should prevent those defects fromreoccurring and, as a consequence, improve the quality of future systems. This is an aspect of quality assurance.
Friday, September 5, 2008
C++ FAQ's
It is a concept that is very conveniently skipped while learning C++ at the beginner's level. Having used the 'new' and 'delete' operators, it is imperative to understand how the C++ memory is managed.
1. What does the 'new' operator actually do??
Ans. It basically does two things - allocate memory for the new object and call the constructor of that object and thereby in effect 'create' the object.
The C++ Memory Heap a.k.a the 'free-store' is used to assign chunks of memory size as requested by each constructor that is called by the 'new' operator on that object.
In comparison to the malloc() function, the new operator returns a type-safe pointer while th malloc() return a pointer of type 'void' which needs to be explicity type-casted by the programmer.
For the special case when the memory store available with the free store is exhausted, we can test if the new operator returns a NULL.. But there is a more elegant way to handle this case.. look for my next post on how to handle the situation of free store exhuastion.
1. What does the 'new' operator actually do??
Ans. It basically does two things - allocate memory for the new object and call the constructor of that object and thereby in effect 'create' the object.
The C++ Memory Heap a.k.a the 'free-store' is used to assign chunks of memory size as requested by each constructor that is called by the 'new' operator on that object.
In comparison to the malloc() function, the new operator returns a type-safe pointer while th malloc() return a pointer of type 'void' which needs to be explicity type-casted by the programmer.
For the special case when the memory store available with the free store is exhausted, we can test if the new operator returns a NULL.. But there is a more elegant way to handle this case.. look for my next post on how to handle the situation of free store exhuastion.
Subscribe to:
Posts (Atom)