Software testing is an integral activity in software development activities. If the software development process is the backbone that creates the basic software programs, then the testing process will cover the muscles in accordance with customer requirements to help complete a qualified figure. Knowing the soft development model will help us to have a view of orientation and build a proper, effective and appropriate testing activity.
a. Test procedure
- Software testing is a process that involves a static and verb loop when planning, preparing and evaluating software products to determine if the software meets the specification requirements, to detect. error in the system and to prove that the product is suitable for the user’s needs.
- Basic activities of the test procedure:
- Test planning & control: Test planning
- Test analysis & design: Analysis and design
- Test implementation & execution: Implementation and testing
- Evaluating & report: Evaluation and reporting
- Test closure: Finish the test
b. Software development life cycle
- The software development process is a collection of all activities and methods that people must perform to develop a system or a software product.
- The questions that will be asked and need to be addressed when starting software development are:
- Personnel: Who will do it? And who will do what work? If there is a shortage of personnel, how should I solve it?
- Time: When to start? How much time does it take?
- Method: How to do it?
- Tools: What tools to use for this job?
- Cost: What is the estimated cost and return? How much is the risk?
- Objectives: What is the goal?
For each system, product and customer requirements will need different processes.
- The software development process has four basic parts:
- Software specifications: collecting requirements, defining the functions and operating conditions of the software.
- Software development: the process of building products and systems from initial requirements and specifications.
- Product evaluation: after the development stage, software products need to be evaluated and at least meet the requirements of the specification document.
- Software improvement and upgrading: after the software has been completed, the development team needs to improve and upgrade the interface and functions of the system to become better and better meet the user needs. .
II. Software development life cycle and process
1. Software development life cycle – SDLC (Software Development Life-cycle)
- SDLC is a systematic and orderly approach to solving software system problems or in other words it is a structure for the development of a software product. Depending on the different types of software development models, the following phases may be arranged and organized differently.
- Software development life-cycle (SDLC):
- Requirment Analysis: This is an important part of software development. Often when starting to make a product, customers often do not know how they want to make a system, so the requirements will be incomplete, unclear or contradictory. At this point, the development team consists of experienced engineers who will validate / comment / modify to have an initial finalized basic requirement.
- Design: System architecture involves ensuring that the software system will fully meet product requirements, as well as ensuring that future requirements can be addressed. It also involves communication between software systems and other software products, as well as basic hardware or host operating systems.
- Implementation: The previous design must be translated by a programmer into a machine that can be read and understood. If the design is done in detail and complete, then to this stage the code will be very easy. On the contrary, if the system design was too sketchy before, this stage would be difficult and take time to resolve.
- Testing : After the programmers have finished translating the code, the testing team starts its work. Testing team will use different testing methods to detect errors on the system, during this stage, automated testing tools and support tools will also be used to detect errors. so the development team can fix it promptly before it reaches the end user. In addition, many companies now build their own testing tools to support their development activities.
- Deployment: After the testing team finishes its work, the guaranteed product can be put to use, it will be put into practical use.
- Maintenance: Maintenance and software upgrades to cope with newly discovered problems or requirements may take longer than the initial development of the software.