action #41855
closed[functional][y] Develop test plan for yast2_hostnames from scratch
0%
Description
YaST Hostnames Module test plan¶
Introduction¶
YaST Hostnames is a module that helps system administrators with configuring
their /etc/hosts
file. It has a Terminal and a Graphical User Interface and
validates input.
Features to be Tested¶
Included¶
- Terminal UI
- Graphical UI
- File reading + parsing
- File saving
- Input validation
- Aborting without damaging the existing content
Excluded¶
- Ease of use
- Performance
- Handling of large files (exact metric is not decided yet)
Test Strategy¶
The most important component is that saving the configuration creates a working
file, i.e. it is not corrupted or damaged. It is equally important that
cancellation keeps the old configuration intact. Therefore the biggest focus is
on disk IO.
Functionality only needs to be tested once, one of the two UIs is used to test
the functionality while the other is just checked for visual correctness.
Input validation, correct parsing of existing /etc/hosts
file and aborting is
tested in the GUI, while the TUI only needs to render correctly and have working
keyboard shortcuts.
Test cases 1 and 2 will be executed on ARM, Power.
All test cases will be executed on x86_64, using Qt GUI on GNOME (Xorg).
Additionally, test case 5 is executed using the ncurses TUI and Qt on GNOME
(Wayland).
On s390, only ncurses is used as UI in the tests.
Updated by okurz over 6 years ago
- Subject changed from Develop test plan for yast2_hostnames from scratch to [functional][y] Develop test plan for yast2_hostnames from scratch
thank you. Just adding team tags :)
Updated by riafarov over 6 years ago
- Project changed from 46 to openQA Tests (public)
- Parent task set to #41873
Updated by okurz over 6 years ago
- Category set to Enhancement to existing tests
- Target version set to Milestone 20
Updated by riafarov over 6 years ago
- Status changed from In Progress to Feedback
Updated by agraul over 6 years ago
Test cases¶
- File Parsing
Write the following to /etc/hosts
:
127.0.0.1 localhost
130.57.5.70 suse.com suse.br suse.ae
130.57.5.70 suse.com suse.br suse.ae
::1 localhost ipv6-localhost ipv6-loopback
fe00::0 ipv6-localnet
1001:db8:0:0:0:ff00:10:8000 äbç
2001:db8::ff00:43:9000 АБВГДЕ
# 147.67.34.45 europa.eu
# special IPv6 addresses
# ff02::4 example3
256.0.0.0 invalid.example
gg::1 also.invalid
Check the UI output. Every line after the first with a leading "#" must not
show up. Every other entry must show up in the UI output: IP in IP field,
first hostname in "hostname" field, all other hostnames in "aliases" field.
Duplicates must not appear more than once.
- File Writing
Add the following via the UI:
IP: 100.100.100.1
Hostname: onehost.example
Aliases: äbç, АБВГДЕ
IP: 2000::3000
Hostname: ipv6-example.intern
IP: 195.135.221.143
Hostname: static.opensuse.org
Aliases: html5test.opensuse.org
Disable DNS resolution and ping static.opensuse.org
to see if the entry
works correctly.
- Input Validation
Try to enter the following in the IP field in the UI:
0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.:!@#$%^&*[](){}"'
Check that only these characters are in the field:
0123456789abcdefABCDEF.:
- System entries are protected
Delete "localhost" entry for IPv4 in the UI. A popup must show up, asking for
verification. Ensure nothing changes when cancelling.
- UI is navigatable
Check that all text labels are readable and in their correct place. This
includes line wrapping. Buttons must be distinct from the background and
keyboard shortcuts must be documented. They must work as well.
- Translations are present and correct
Run the module in a different language environment and check that no English
words are left, except for technical names.
Acceptence Criteria¶
All planned tests are executed without faults regarding disk IO, configuration
parsing, input validation and keyboard shortcuts.
Test Documentation¶
The test results are integrated into OpenQA. This can either be as part of an
existing job group or a new, YaST sepecific job group. The tests themselves
don't have to use OpenQA as long as the results appear in it.