Skip site navigation (1) Skip section navigation (2)

Section Navigation

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 [email protected] 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 [email protected] 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 [email protected] and [email protected] for more information.