provide small auto-test system with a web-based interface which can help to customize autoinstall testing.The test system should be small enough for personal use.
The purpose of auto test is to simplify testing,save time, improve efficiency.So the auto-test should help us to solve the following problems:
- the system should be small enough for personal use
- have a very simple interface for user to customize testing or configure testing
- very easy interface for user to set up some services due to some special cases,such as ftp/nfs/http install,etc
- test result is easy to check
Installation process covers the following sections, therefore, brokenness comes from these types:
- Image Sanity
- Error in size/Checksum
- Dependency problems/File Conflicts
- Versions check
- Boot Methods
- Anaconda fails to boot
- Anaconda unable to transition to stage#2
- Install Source
- Unable to find source
- Kickstart Delivery
- Ks.cfg couldn't be obtained from specified location
- Install fails to proceed in accordance with the directives in the ks.cfg file
- Package Set
- Process of package install doesn't complete
- Package errors (install.log)
- The specified packages aren't installed
- Can't prompt for an existing partition to resize
- Error when resizing the selected partition
- The installer fails to partition the system as required
- Encrypted partitions contain errors.
- User Interface
- Unable to boot to graphical/text mode
- Graphical anaconda displays error in steps
- Anaconda doesn't start Xvnc/telnet properly
- Rescue mode fails
- Anaconda doesn't prepare the updates.img
- Traceback errors
- Storage Devices
- Fail to detect any storage device
- Error occurred during installation
- Upgrade system
- upgrade issues.
- preupgrade issues.
- use the network install(or libvirt? does it make sense to run on virtual machines? need confirmation) to finish install tests one by one.
- provide web-based interface to customize testing.In the web page,user can specify the path of ISO,select which cases to run or not,edit(import) kickstart file or automaticly generate kickstart file after give some selected parameters (partition,packages,install method).
- web-based interface help to setup some needed services due to some special cases. Modify,add or delete test cases,
- Test result display page help to check the test result easily,the result format is good for testers to post to specified link(have no need to change a lot before post).
- Write test cases From simple to complex, kickstart to graphic.
- Any testers from community can install the testing system and run test cases
- After finish testing,testers will post test result to specified wiki
- develop a system to run install system
- convert some of the current install test cases to cases which can be run in auto test system
- Provide a test results presentation layer for manual test result submission
- Goal: Create a basic system, make it simple and run successfully.
- Case: DVD input and support simplest test cases.
- Platform: Virtual Machine.
- Inputs and Outputs:
- Inputs: DVD, kickstart files, python (shell) scripts.
- Outputs: Logs of whole process(including anaconda logs), test results.
- Approach<<Fix Me>>:
- Create a server, and prepare DVD.iso.
- Create a virtual machine by the server.
- Run test cases using some kickstarts for install tests.
- Send back some logs, successful or not...
- Have some "results parsers" which waits for the logs from the clients and then parses them
- Frameworks studied so far: kvm-autotest, autotest, libvirt, dogtail.
- Graphical automation testing
- The above autotest is based on this framework: http://autotest.kernel.org/
- The steps to work with step files: http://www.linux-kvm.org/page/KVM-Autotest/Steps
To leave a comment, use the Talk page for this proposal.
Fedora auto-install test project
This project meeting is held weekly for progress. Welcome everyone to attend it and give your valuable suggestions.
- IRC on #fedora-meeting
- Each Friday at 8:30 UTC (9:30 CET and 16:30 Bejing)