Project

General

Profile

Actions

action #41855

closed

[functional][y] Develop test plan for yast2_hostnames from scratch

Added by agraul over 5 years ago. Updated over 5 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
Enhancement to existing tests
Target version:
SUSE QA - Milestone 20
Start date:
2018-10-01
Due date:
2018-11-20
% Done:

0%

Estimated time:
Difficulty:

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.

Actions #1

Updated by okurz over 5 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 :)

Actions #2

Updated by riafarov over 5 years ago

  • Project changed from 46 to openQA Tests
  • Parent task set to #41873
Actions #3

Updated by okurz over 5 years ago

  • Category set to Enhancement to existing tests
  • Target version set to Milestone 20
Actions #4

Updated by okurz over 5 years ago

  • Due date set to 2018-11-20
Actions #5

Updated by agraul over 5 years ago

  • Description updated (diff)
Actions #6

Updated by riafarov over 5 years ago

  • Status changed from In Progress to Feedback
Actions #7

Updated by riafarov over 5 years ago

  • Description updated (diff)
Actions #8

Updated by riafarov over 5 years ago

  • Description updated (diff)
Actions #9

Updated by agraul over 5 years ago

  • Description updated (diff)
Actions #10

Updated by agraul over 5 years ago

  • Description updated (diff)
Actions #11

Updated by agraul over 5 years ago

Test cases

  1. 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.

  1. 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.

  1. 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.:
  1. 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.

  1. 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.

  1. 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.

Actions #12

Updated by riafarov over 5 years ago

  • Status changed from Feedback to Resolved
Actions

Also available in: Atom PDF