Testing Guide for 4.5-RELEASE
Goals
As part of our on-going effort to improve the release engineering process, we have
identified several areas that need significant quality assurance testing during the
release candidate phase. Below, we've listed the changes in 4.5-PRERELEASE that we feel
merit the most attention due to their involving substantial changes to the system, or
having arrived late in the development cycle leading up to the release. In general, our
goal in the QA process is to attempt to check a number of things:
- The system has not regressed with respects to stability, correctness,
interoperability, or performance of features present in prior releases.
- New features result in the desired improvement in stability, correctness,
interoperability, or performance.
To effectively determine this, it's desirable to test the system in a diverse set of
environments, applying a wide set of workloads, forcing the system to operate both within
and outside its normal specification. Particular focus should often be placed on the
continuing (or new) capability of the system to perform correctly when used in concert
with systems from other vendors.
Features to explore carefully:
- Recent TCP changes, especially relating to the delayed ACK fix, congestion response,
syncache, syncookies, increased socket buffer sizes, et al. We're interested in testing
interoperability with as many platforms as possible, demonstrating continued strong (and
better) scalability and performance, and watching out for quirks (connection stalls,
...), not to mention crashes. Jonathan Lemon was responding to a panic report on
freebsd-current earlier today regarding a PCB call, which is something we should keep an
eye on. On the other hand, Yahoo! is now deploying
this code, and that should help test it a great deal.
- VFS/VM/NFS fixes. We need to continue to test performance, correctness, and
interoperability. In particular, I'd like to see a lot of inter-platform performance
testing (FreeBSD->Solaris, vice versa, etc). We'd also like careful investigation of
low-memory situations.
- FFS fixes. We had some reports of deadlocks in FFS; it sounds like Matt Dillon has
caught most of them, but combinations I'd particular like to see tested involve Quotas,
Chroot, and NFS, under load, and involving memory mapping and heavy directory
operations.
- NTP 4.1. This is probably reasonable safe, but it doesn't hurt to do interop testing,
especially on the Alpha platform.
- SMBfs. We need stability testing, mostly, I suspect. Performance is probably not a
large focus. While SMBfs support has been available on -STABLE through a port previously,
determining that the integration with the base system (especially the boot process) was
done correctly is important. Attempting to use SMBfs in /etc/fstab in a diskless
environment might be one thing to explore, for example.
- Once the man page change goes in (which I think it should) we'll want some basic
testing of the man command. Update: This change proved too controversial
for introduction this late in the release cycle, and so it will not be included with
FreeBSD 4.5.
- cdboot. Late in the release cycle, a new implementation of the CD-based boot loader
was introduced. This should generally improve support for booting or installing from CD,
but this change requires testing on a variety of architectures and devices.
Update: Thanks to everyone who helped test this functionality. A number
of users reported problems booting with this new loader, so this will not be used for
FreeBSD 4.5.
- Sysinstall module loading. In order to make room for more devices on the boot floppy,
a number of wireless Ethernet device drivers were moved over to the MFSROOT floppy in the
form of loadable kernel modules. We would like to see this functionality tested
thoroughly before the final release.
- ATA code. The ATA driver has been updated to support 48bit addressing and has been
tested to work with at least one 160GB IDE drive. Further testing with very large IDE
drives is necessary.
- XFree86. There was at least one problem report with XFree86 4.x sent to the
qa@FreeBSD.org mailing list. Please help us test this important third party
software package to ensure it works well with FreeBSD 4.5. The FreeBSD Handbook may need
to be updated to describe the recommended procedure for installing XFree86 4.x during a
new installation.
- Linux Compatibility. There was a small change in the Ethernet device enumeration of
the Linux compatibility layer. All Linux applications should be tested under the new
environment. In particular, those applications that deal with network interfaces should
be tested carefully.
The release notes will always be a good place to
look for things to test. There are a number of new drivers, including if_em,
which would probably benefit from more exposure. Please report bugs to the qa@FreeBSD.org list, and/or via send-pr with a heads up
to the qa list.
Known Issues
4.5 Release Candidate 3
was released on January 23. There will be one final release candidate before the final
release. Please see the postings to qa@FreeBSD.org and stable@FreeBSD.org for more
information.