Testing: a critical phase in SD.

Software testing is a phase of the Software Development Life Cycle that focuses on executing a program and finding bugs. The process should validate and verify that the program meets the functional and non-functional requirements gathered in the first stage of the process.
During testing, the developers should find out if the program meets the technical and business needs that should have guided the design and coding phases. The program should work the way it was expected to and should be able to be implemented in the next stage.

Testing can be done as a process rather that a unique activity. It should take place during the whole software life cycle in small steps, to prevent defects in the code and to verify that the design is being implemented correctly.

Testing must be planned so reports and progress can be documented and the status of a program can be defined and updated. Preparations must be made by selecting conditions and designing test cases.

Static testing can be done without executing the code and it is used to verify the source code and static analysis.

Dynamic testing is done when the code is executed so results can be demonstrated. It is done during validation, some examples are unit testing, integration testing and system testing.


Uploaded by Guru99

Evaluations must be done during the testing phase to check that the needed criteria was met and whether the software passes the needed tests and can now be launched.

Software testing is a necessary part of software development because everyone makes mistakes (we are human after all) and they should be corrected because they may lead to unnecessary risks and expensive corrections. It is good to have someone else check these mistakes because they are more likely to spot these mistakes than the original

?
Continue reading "Testing: a critical phase in SD."

“There is no such thing as freedom without the RISK of failure”

What is a risk? In any field, it is identified as a potential problem. In software development there are many risks that must be assessed. Each project wants to be differentiated in one way or another and this creates certain levels of uncertainty because of factors like technological advancements & quality levels. These risks may compromise the success of a project and it is very important to understand the probability and scope of these risks.
To generate a successful project a project manager must identify, assess, prioritize and manage all of the mayor risks that may be encountered during development.
There is a lot of guesswork involved in risk management and crisis-management must be performed to contain the possible losses caused by the potential problems.
The following tasks must be performed:
• Identify risks and their triggers
• Classify and prioritize all risks
• Craft a plan that links each risk to a mitigation
• Monitor for risk triggers during the project
• Implement the mitigating action if any risk materializes
• Communicate risk status throughout project
There are five main areas in software risk management:
• New, unproven technologies
• User and functional requirements
• Application and system architecture
• Performance
• Organizational
Risk Management in Software Development and Software Engineering Projects