Table of contents
3. Iterative and incremental model
1. What needs
IEEE definition: Software requirements are
(1) The conditions or capabilities required by users to solve problems or achieve goals.
(2) The system or system components must meet the conditions or capabilities required by contracts, standards, specifications or other formally specified documents.
(3) A documented description reflecting the conditions or capabilities described in (1) or (2) above. It includes functional requirements and non-functional requirements. Non-functional requirements impose restrictions on design and implementation, such as performance requirements, quality standards, or design constraints.
Take social APP posting to Moments as an example (boss)
Requirements - Analysis/Design - Development - Testing - Go Online
User needs: the functions that users want the software to achieve
Software needs : The specific refinement of user needs is the specific realization of user needs. Developers develop software based on software needs.
Requirements in software development: Requirements are the conditions and permissions required to meet user expectations or standards, specifications, and documents specified in the contract.
2. What is a BUG?
The first bug:
One day in September 1945, in an old building, a moth flew in from the window. At this time, Hopper was immersed in working in front of a computer named Mark Il, and did not notice that this moth was about to make history. Event moth. This computer used a lot of relays (electromechanical devices, before transistors were used at that time). Suddenly, the Mark II freezes. Hopper tried many times but still couldn't start. He began to use various methods to find the problem, and finally located it on a relay on a certain circuit board. Hopper observed the relay and was surprised to find that a moth had been killed by the relay. Hopper carefully picked out the moth with tweezers, pasted it in the "event record book" with transparent tape, and wrote "the first instance of discovering a bug." Hopper's notebook of events, along with the moth, are now on display at the Museum of American History. General definition of software error: A mismatch between the program and its specifications .
Divided into two situations:
1) When the specifications of the software requirements (software requirements) exist and are reasonable, if the software does not match the software requirements specifications, it is said to be a software error (BUG)
2) When software requirement specifications do not exist, user requirements exist and are reasonable, and software functions do not match user requirements, it is said to be a software error (BUG)
3. What is a test case?
A set of collections initiated to the system under test. This collection includes test data, test steps, test platform, and expected results.
Take registering NetEase email as an example
1) Test data
Email address: xiaoming123
Password: 123456789
Mobile number: 13344445555
2) Steps
Open the NetEase email registration page
Enter email address, password, mobile phone number
Check the box to agree to the terms and click Register Now
3) Test platform
Chrome browser
4) Expected results
registration success
4. Development model
1. Waterfall model
Advantages: Each stage is relatively independent, focusing on demand analysis and software testing.
Disadvantages: Unable to adapt to changes in demand, intervention after testing and coding, resulting in early defects that cannot be discovered and corrected in time
2. Spiral model
Suitable for projects: system development where the initial requirements are not very clear, and there are risks, and the project is relatively large.
Advantages: Emphasis on software quality, rigorous risk analysis for each iteration, and an opportunity to discuss whether the project is necessary to continue.
Disadvantages: Introducing risk management requires investing a lot of manpower and material resources
3. Iterative and incremental model
Four functions of a system: A module, B module, C module, D module, completed within two weeks
Iterative model: In the first week, developers complete the basic functions of the four modules of ABCD, and in the second week, they refine and improve the basic functions.
Incremental model: In the first week, complete the AB module, and in the second week, complete the CD module
4. Agile model
Light on documents, light on processes, heavy on goals, heavy on quality, embrace changes, and can adapt to changes in needs
There are many methods of agile development, among which scrum is the more popular one
1) Release planning meeting
2) Iteration planning meeting
3) During the development project, daily stand-up meetings are held
4) Product Demonstration Review Meeting
5) Review meeting
6. Test model
1.V model
Advantages: Each stage on the left corresponds to each stage on the right. Each stage on the left is the basis for each testing stage on the right.
Disadvantages: Late intervention in testing will result in lost opportunities to correct early errors in a timely manner. Each stage is a single serial project, which cannot adapt to changes in requirements and cannot be applied to agile development.
2. W model
Advantages: Test intervention is relatively early, and early risks can be discovered and corrected in time.
Disadvantages: Each stage is a single serial process, which cannot adapt to timely changes in requirements and cannot be applied to agile development.
7. BUG level
1. Crash
The system cannot run and train, which is serious enough to hinder the work of developers or testers. If this happens online, immediately return the version to a stable system state.
2. Serious
The system can still run, but it is already unstable. If it continues to run, serious consequences will occur.
3. General
The system can run stably, but it will affect the user's operation.
4. Secondary
Suggestive bugs, page issues, layout, font size, pop-up boxes but no clear buttons, picture display
8. BUG life cycle
New: If a bug is discovered, it will be assigned to a developer for modification without review.
Open: Confirm the bug and think it needs to be modified, and assign it to the corresponding developer.
Fixed: After the developer makes modifications, it is marked as modified and needs to be verified by the tester's regression test.
Rejected: If it is not considered a bug, the modification will be refused.
Delay: If you think that modification is not needed or cannot be modified temporarily, postpone the modification.
Closed: If the bug in the modified status is verified by the tester's regression test, the bug will be closed.
Reopen: If the verified bug still exists, the bug needs to be reopened and the developer can modify it again.