Don't dare to click the "Finish" button after installing software? Afraid that you will get a blue screen when you reboot? Or the function doesn't work at all, so it's a waste of time? Don't panic! Let's talk about it in detail today...How newbies can get up to speed quickly with functional test validationWhat is it? After reading this article, you from the "test white" to become a "veteran inspection"!
I. What is functional testing? Why do we have to do it?
Imagine you buy a new mobile phone, after switching it on, you have to try to talk, take pictures and charge it, right? That's what you do when you test the functionality of the software after it's been installed and debugged--Check that the software works properly!
- How tragic are the consequences of not testing::
I've seen people install design software without testing the rendering function, and then crash while working on their drawings all night...the files are ruined! - There are just four core objectives of the test::
- Basic Functions: e.g. Calculator 1+1 must equal 2
- performance: Don't get stuck opening a file as a PPT (more than 3 seconds makes you cranky)
- compatibility: It works in Win10, don't strike when you switch to Win11!
- degree of stability: Runs continuously for 8 hours without flickering
Question and answer time
Q: Doesn't successful installation mean it works? Why do I need to test it?
A: Successful installation only means that the files have been copied in, just like filling up a car with petrol - but does the engine turn over? Do the brakes work?It must be road-tested!Common rollover sites:
- Environment variables are not configured correctly (software can't find its way).
- Dependency library version conflicts ("parts" fighting with each other)
- Insufficient permissions (software "not qualified" to work)
Second, the 3 major test methods: hand to teach you to check the goods
(1)black box test: Being a "know-nothing" user.
quintessence: It doesn't matter how complex the internal code is, it just focuses on whether the inputs and outputs are right or wrong!
- typical operation::
- Tapping symbols randomly in the text box (@# ¥%), very long sentences (500 words)
- Upload a 10G file and see if it crashes
- Tap the save button wildly 50 times - test the shaky hands party!
- vantage: You don't have to be tech-savvy to play!
(2)white box testing: Lift the lid to see the innards (for those with a bit of grounding)
quintessence: Check the code logic! Trace the flow of data like a detective on a case
- surefire way to kill::
- unit test: Individual testing of each sub-module (e.g. "save function")
- Code review: Stare at key functions to see if there are any "potholes" (e.g., not handling divide-by-zero errors).
- Tool Recommendations::
Test Type Examples of tools Applicable Scenarios code inspection SonarQube Automatically find bugs and vulnerabilities unit test JUnit (pytest for Python) Verify that the function logic is correct
(3)automated test: Let the machines do the bricks for you.
quintessence: Record repetitive operations as scripts and run all functions with one click!
- Slacking Combination::
- Selenium (computing): Automatically clicking buttons and filling out forms (web page measurement tool)
- Jenkins: Automatically run a full set of tests in the early hours of every morning and wake up to read the reports
- Scenario::
- Test core processes like login/payment for every update
- Need to simulate the stress test of 100 people grabbing the goods at the same time
Third, the test of the actual six steps: follow the do not turn over the car
Let's take a chestnut: suppose you've just installed image processing software
Step 1: Make a test list - draw the "test points" first.
Don't click blindly! Sort by functional importance:
- lethal term (in math.): Save/export images without corruption
- high frequency term: Cropping, Brightness Response Speed
- bonus points: Whether the filter effect matches the preview
Step 2: Designing Test Cases - The "Exam Questions"
Turn the vague "measurement and export function" into a concrete action:
plaintextmake a copy ofTest Case: Export JPG images - Steps: 1. Open a 10MB PSD file. 2. 2. Edit and click "Export as JPG". 3. Select quality 90% and save to desktop. - Expected results: ✓ File size ≤ 3MB ✓ The file can be opened normally by graphical software. ✓ No colour breaks
Step 3: Setting up the test environment - setting up the "test centre"
Isolate the real environment!Otherwise you may delete your work files by mistake:
- Windows (computer): Use of virtual machines (VMware)
- Python: Required
venv
Creating a sandbox environmentbashmake a copy of
python -m venv test_env # Construction of a segregated house source test_env/bin/activate # In-house test
Step 4: Perform the test - start the "exam"
Take notes as you measure!Recommended to be recorded on a form:
test item | procedure | Expected results | actual result | pass or fail |
---|---|---|---|---|
save function | Ctrl+S after modification | Autosave without prompting | "Save Successful" pop-up | ❌ |
Undo | Press Ctrl+Z 10 times in a row | Back to 10 steps ago. | 8th jam. | ❌ |
Step 5: Bug Catching and Regression - "Wrong Questions Redone"
Find save function anomalies?
- Look at the logs.: the software installation directory under the
logs/error.log
look for clues - raise a bug:: Write down the steps to reproduce + screenshots (developers hate the word "unusable")
- regression test: after restorationRetest all associated functions(to avoid fixing A and blowing up B)
Step 6: Test report - hand in "report card"
Don't talk rubbish!Development only cares about three things:
- Which functions hang up? (in order of severity)
- How to reproduce the problem? (with a video of the operation smells better)
- How do you suggest fixing it? (e.g., "Insufficient privileges, need to raise privileges.")
Fourth, high-frequency soul torture: a guide for novices to avoid pitfalls
Self-explaining Advanced
Q: Half a day of testing and no problems found, but online users are complaining wildly?
A: Eighty per cent of them missed these hidden tests:
- Boundary value attack::
- In the date box, enter "2025-02-30″ (where is there a 30th in February?).
- Put "-$100" in the price column (backdated?).
- Compatibility with Dark Arrows::
- Win11 works fine, but Win7 flashes (especially older systems)
- Intel CPUs run happy, but AMD reports errors (it's a real pitfall!)
Q: Automated testing is so fragrant, can it completely replace manual?
A.Nice try!The two are related like a car and a bicycle:
- automatic: Suitable for fixed processes (login → order → payment)
- manually operated: Suitable for exploratory testing (chaotic button tapping/disconnected operation)
golden ratio: 70% Core Functions Automation + 30% Manual Trouble Operation
Q: What should I do if I have few resources for testing? There is a way to play with poverty!
A: Three low-cost programmes:
- crowd-sourced fishing method::
Let company colleagues install beta, find bugs and give out red packets ($5/each, motivation skyrocketed) - Open source tool ping-pong::
JMeter pressure testing (free) alternative to LoadRunner (expensive cry) - focused demolition method::
Only core functionality will be tested (e.g. e-commerce systems prioritise insurance payment processes)
Editor's point of view on table-tapping
After ten years of testing, I'm sick of hearing people say, "Tests are just a couple of clicks away" -This is taking users for free QAI've seen too much "just works" software! I've seen too much "just works" software that results in users losing all their data and corrupting their files.
Lessons from the real world: Last year, a tool did not test the file overwrite logic, resulting in the user 3 years of design drafts were cleared ... compensation to the meat pain!
So yeah, next time you're done installing software, don't rush to close the installation wizard - take 10 minutes to make aQuick validation of the triple hit::
- Save a file and open it.(Validation of base IO)
- Walk through the core functions(e.g. retouching software must try cropping + filters)
- Forced shutdown reboot(See if the site can be restored)
Saving those few minutes could save you from crashing for the next 10 hours!