[Kstars-devel] bug hunt bears fruit

Jason Harris kstars at 30doradus.org
Mon Oct 13 11:39:57 CEST 2003


Hello,

I was out of town over the weekend, but had some time to go through my QA 
list.  I'm always impressed by how many bugs and issues these tests turn up.  
I have attached my (nearly) completed QA list, with notes at the bottom 
regarding the 50 (!) bugs I found, and will now commence squashing.

The bugs list puts the most important ones at the top, marked with "**".  One 
of these is a crash condition, but I think none of them will be hard to fix.  
Feel free to attack any of these bugs!

regards,
Jason
-- 
KStars:  A K Desktop Planetarium
http://edu.kde.org/kstars
-------------- next part --------------
 List of tests for KStars for KDE 3.2:
======================================
C = Correct behavior
B = Bug associated with this function (mostly works)
X = Does not work

(o): This feature is optional; active and disabled states 
     should be tested
======================================

I.  Mouse Navigation.
C	Moving mouse shows the current sky coordinates of the mouse 
	cursor in the status bar.

C	Click with mouse identifies nearby object in statusbar.
C	The object's Long Name is shown.  
C	If more than one object is nearby, selection priority is based on 
	object catalog or type:  
	Solar system > Messier > NGC > IC > Star 

C	Mouse events outside of the valid mapping region are ignored.

C	(o) Double-click attaches a label to the nearest object, centers 
	it in the display, and engages tracking.  The label uses the 
	object's Primary Name.  The label is temporary, and is removed 
	when object is no longer centered.  

C	Click and drag moves the skymap such that the position of the 
	cursor on the sky remains roughly constant.  Doing this
	disengages tracking.  

C	Click-and-drag with Ctrl pressed draws a rectangle on the map 
	that defines the new area to be displayed when the LMB is 
	released.

C	Click-and-drag with MMB zooms in and out according to the 
	vertical motion of the mouse.

C	Right-click opens a context-sensitive popup menu (see below).

_	Scrolling the mouse wheel zooms the display in and out.

II. Keyboard Navigation
C	Arrow keys scroll the display.  
C	Holding Shift doubles the scroll speed.

C	Pressing N,S,E,W keys centers the display on the cardinal points
	of the horizon.  Pressing Z centers on the Zenith.

C	+/- Zooms the display in and out.  

c	The numbers 0-9 center on a major solar system body (0 is the sun, 
	3 is the moon; the rest are in order from Mercury to Pluto).

III. Menu Functions (check keyboard shortcuts as well)
	File Menu:
C		New Window: opens secondary KStars window [Ctrl+N]
C		Close Window: closes current KStars window [Ctrl+W]
C		Save Sky Image: exports current sky image to disk [Ctrl+I]
B		Run Script: executes a DCOP script [Ctrl+R]
C		Print: Print the current skymap [Ctrl+P]
C		Quit: Exit application [Ctrl+Q]

	Time Menu:
C		Set Time to Now [Ctrl+E]
B		Set Time... (see Dialogs) [Ctrl+S]
C		Start/Stop Clock [toggle]

	Pointing Menu:
C		Zenith/North/East/South/West [Z/N/E/S/W]
C		Set Focus Manually... (see Dialogs) [Ctrl+M]
C		Find Object... (see Dialogs) [Ctrl+F]
B		Track Object [toggle] [Ctrl+T]

	View Menu:
C		Zoom In [+; Ctrl++]
C		Zoom Out [-; Ctrl+-]
C		Default Zoom [Ctrl+Z]
C		Zoom to Angular size... [Ctrl+Shift+Z]
C			- dialog is preloaded with current angular size value
C			- dialog does not accept out-of-range values
C		Equatorial/Horizontal Coordinates [Space] [toggle]

	Settings Menu:
		InfoBoxes:
C			Show Infoboxes [toggle]
C			Show TimeBox [toggle]
C			Show GeoBox [toggle]
C			Show FocusBox [toggle]
			
		Toolbars: 
C			Show Main Toolbar [toggle]
C			Show View Toolbar [toggle]

		Color Schemes:
C			shows all available schemes, predefined and custom
C			All color-settings change properly upon selecting new scheme
C			All color-settings persistent on reload 
C			Schemes appear in menu upon creation in options dialog
_			Schemes are removed from menu upon removal in options dialog

		FOV Symbols:
C			None/7x35 Binos/One Degree/HST present by default, but may be removed
X			Checkbox drawn by current selection
C			Edit FOV Symbols... launches tool (see Dialogs)

C		Set Geographic Location... (see Dialogs)
C		Configure KStars... (see Dialogs)

	Tools:
C		Calculator (see Dialogs)
C		AAVSO Light Curve Generator (see Dialogs)
C		Altitude vs. Time (see Dialogs)
C		What's Up Tonight? (see Dialogs)
C		Script Builder (see Dialogs)
C		Solar System Viewer (see Dialogs)
C		Jupiter Moons Tool (see Dialogs)

	Help:
C		HandBook [F1]
C		Tip of the Day
C		Report Bug...
C		About KStars
C		About KDE

IV. Toolbars
	Main Toolbar:
C		Quit, Zoom In, Zoom Out, Default Zoom, Track, Find, 
		GeoLocation, Configure, Set Time, Handbook, 
		Start/Stop Clock
B		TimeStep widget adjusts time step
C		First pair of buttons cycles through every timestep
C		Second pair of buttons cycles through even-unit timesteps
C		Cannot set value outside allowed range
C		Entering a value manually does nothing

C		Zoom buttons disabled when at limit of zoom range
C		Track button is auto-toggled whenever an object is centered 

	View Toolbar:
C		Stars, Deep sky, Solar system, Const. Lines, Const. names,
		Milky Way, Grid, Ground/Horizon: toggle display of appropriate 
		objects
		
C		Some are "meta-options", these should interact properly 
		with the individual options

V. Center and Track
C	Center on Object
C	Center on Nothing 
C	Track on Object
C	Track on Nothing
C	Ask to confirm if new position is below horizon
C	Ask for reposition if startup position is below horizon


VI. InfoBoxes
C	Highlight on click
C	Shade on double click
C	Move on drag
C	collision detection is robust
C	edge sticking is robust
C	remember positions and shade states on restart

VII. Dialogs
	Print:
C		Prints image of the current skymap (without infoboxes or FOV symbols)
C		Asks to reset color scheme if sky color is not white.
C		Color scheme properly reset after printing
C		The printed image is reasonably similar to the screen image

	Set Time:
C		Time set correctly
C		Fails gracefully on invalid date/time
		[It is not possible to enter an invalid time]

	Find Object:
C		Filter by name and/or object-type works
C		Warning message if selected object is below horizon
C		center and track on selected object
C		No action if no valid object selected
		[invalid object shows message box, does not close window]

	Set Focus Manually:
B		Resets focus to given coordinates, engages tracking
C		Both RA/Dec and Alt/Az modes work
C		Epoch box works in RA/Dec mode
B		Fails gracefully on invalid coordinates

	Set Geographic Location:
C		Sets location to highlighted city in listbox
C		red cross on map at position of selected city
C		Map pins highlighted for cities which match filters
C		The three name filters work as expected
C		clicking in map selects nearby cities
C		data for selected city is presented at bottom
B		"Explain DST rules" launches window listing DST rules
C		"Clear fields" clears the data fields
B		When data fields are modified and both city and country fields
			are filled, the "Add to List" button is activated, and 
			correctly adds the custom location to the list.
C		Newly added custom location is selected in the list
C		Custom locations loaded on subsequent restarts.

	Configure KStars:
C		In general: all changes are reflected immediately, but revert 
			if "Cancel" is selected

		+ Catalogs:
C			checkboxes toggle display of catalogs (stars/Messier/NGC/IC)
B			Faint limits for stars work
C			Max zoom-out faint limit restricted to zoom-in limit value
B			Star-name faint limit and name/mag checkboxes for stars work
B			When Star Catalog unchecked, related options are disable
C			Faint limits for deep-sky work
C			Max zoom-out faint limit restricted to zoom-in limit value
C			Add custom catalog opens a window to specify name of a 
				custom catalog file, and name for the catalog.
C			Warn user if any lines in custom catalog could not be parsed
C			Do not add catalog if no lines could be parsed
B			Custom catalog objects added properly
B			Custom catalog can be removed

		+ Solar System:
C			checkboxes toggle display of bodies (sun/moon/planets/comets/asteroids)
C			Select All/Select None buttons work
C			"use name labels"/"use images" checkboxes work
C			asteroid faint limits works (1: display; 2: names)
C			comet radial limit for names works
C			planet trail checkboxes work
C			"Clear all trails" button works

		Guides
C			checkboxes toggle display (CLines/CNames/MW/Grid/Equat./Eclip./Horz./Ground)
C			Select constellation-name style (Latin/Localized/Abbreviated) works
C			The CName button group is disabled when constell. name is unchecked
C			Fill MW works, and is disabled when MW checkbox is unchecked

		Colors
C			Selectable colors present for all customizable items in the skymap.
C			Updating a color by clicking on it in the list works
B			Star color mode combobox works
C			star color intensity spinbox works
C			selecting a color scheme sets colors in the map, and in the
				"Current Colors" listbox
C			"Save Current Colors" asks for a name for the new scheme, then adds 
				it to the list of schemes.  Also added to Settings|Color schemes submenu
C			"Remove color scheme" only activated if custom scheme is highlighted

		Advanced
C			Checkboxes work as expected
C			The "minimum timescale to hide" timeBox works
B			When "Hide Objects" is unchecked, related options are disabled

	Calculator:
		All modules behave as expected:
_		Apparent coordinates
_		Equatorial/Galactic
_		Horizontal coordinates
_		Precession
_		Geodetic coordinates
_		Day duration
_		Julian day
_		Sidereal time

		Batch modes work as expected:
_		Apparent coordinates
_		Equatorial/Galactic
_		Precession
_		Geodetic

	AASVO Light Curves:
_		Selecting a name auto-selects the designation (and vice versa)
_		Selecting custom Start/end dates works
_		Fails gracefully if start date is after end date
_		plot average days works
_		checkboxes work as expected
_		update function works

	Altitude vs. Time:
C		Entering an object name plots its curve
C		Pressing "Enter" in name box adds the named object if it exists in database;
			otherwise, the input focus moves to the RA field.
C		"Browse" button launches Find Object window; selection is plotted
			(and selection's coords displayed below)
C		Entering a non-matching name and RA and Dec coords adds custom object curve
X		Fails gracefully if RA or Dec are invalid (does not add object)
C		"Clear Fields" button works
C		"Clear List" button works
C		Refuses to add the same object twice
C		Highlighting item in listbox highlights its curve in the plot, and
			displays that object's data in the Sources tab
B		Resetting Date and/or Location updates the curves and redraws the plot

	What's Up Tonight:
C		Shows summary of all objects visible on the night of the current 
			simulation date from the current location, divided into categories.
C		Evening/Morning/All Night combobox works
B		Sun and Moon rise/set times match those in popup menu
C		"More Information" launched Details window for selected object
X		WUT screws up Moon's position.  Also, something not right with 
			rise/set time

	Details:
C		General Tab: object data properly displayed
B		Rise/Set times match those in PopupMenu
C		Links Tab: attached links displayed; add/edit/remove link buttons work
_		Advanced Tab: access to online databases works as expected
C		Log Tab: attaching text to an object works, is persistent across restarts

	Script Builder:
C		Function Browser lists all available DCOP functions (check w/kdcop)
C		Highlighting function in browser shows doc in lower panel
C		Add a function to the working script with dble-click or left-arrow button
C		Highlighting function in current script box shows its arg. widget below
C		arg widget values preserved when changing functions
C		remove function from working script with right-arrow button
C		copy function in working script with circle-arrow ("reload") button
C		move function in working script with up/down arrow buttons
C		File operation buttons (New/Open/Save/SaveAs) work
C		"Test Script" button works
C		Saved script can be executed from command line
C		Saved script can be executed with File|Run Script action
C		Attempt to close window with unsaved changes triggers warning

	Solar System Viewer:
C		Displays position of planets for the current simulation time/date
C		Planet labels present
C		+/- keys zoom in/out

	Jupiter Moons Tool:
C		Plotted moon positions relative to Jupiter match display
_		Check positions against similar charts (e.g., by Sky & Telescope)
C		Name labels correct
C		+/- keys stretch timescale
C		[/] keys move central date

	Edit FOV Symbols Tool:
C		Current FOV symbol preselected in listbox
B		Selected FOV is displayed in preview pane
C		New button launches dialog with clean edits
C		Edit button launches dialog with edits set
B		If new params accepted (Ok), new name appended to listbox and is selected
C		If edited params accepted (Ok), listbox does not change (but settings 
		are updated)
C		If params are rejected (Cancel), no changes made
C		Any Symbol can be edited or deleted, even preset defaults
B		When symbol is removed, the adjacent symbol is selected.
X		If all symbols removed, then default set restored on next startup


VIII. INDI
_		make sure it works ;)
_		Telescope wizard
_		Device Mgr
_		Control Panel
_		Configure...


IX. Popup Menu
B	Contexts work: nothing, star (named/unnamed), solar system, skyobject
C	Name(s) display properly
B	Rise/Set/Transit times (check for circumpolar/never_rises too)
C	Center & Track (on nothing, on object)
C	Details
C	Add/Remove Label (to named object only)
C	Attach Trail (to solar system object only)
_	ImageViewer (check save function)
B	Add custom URL


X. Error handling
	Missing data files: 
B		critical file: exit program with error message
B		non-critical file: show error message, continue loading
		
	Invalid entry data:
B		try to enter invalid data whenever possible to make sure it fails
		gracefully

XI. DCOP functions
_	Use kdcop to test the dcop functions



Notes: 
====================
**WUT: Opening the WUT while tracking the Moon results in a large "jitter"
**in the focus; the focus jumps away from the moon, and slews back to it.
**I believe the Moon's position is being recalculated for Rise/Set times
**but the Moon object is not being reset properly to its current position.

**WUT: (perhaps related) Moon's Set time is one hour different from that
**of the PopupMenu.  I believe the WUT and Popup menu are sampling 
**different instances of the Moon being "up" in calculating the Set time, 
**though I have not determined which is correct.

**The lookToward() DCOP function does not stay at new focus position when 
**program was tracking on an object and lookToward() specifies a non-object
**direction

**Focus Infobox does not immediately switch to "Focused on: nothing" when 
**the sky is slightly slewed.  However, tracking is indeed turned off!

**CPU usage when zoomed in seems excessive.  Is it not skipping off-screen
**objects?  Use KCacheGrind to find out where it is spending time.

**FOVEdit: Crash when all symbols are removed.  Also will crash subsequently
**whenever FOVEdit is opened, until empty fov.dat file is removed.

**Currently, if out-of-range values are entered into a dmsBox, the values
**are silently wrapped into the valid range using dms::reduce().  Instead,
**a KMessageBox warning should be shown.  Try to do this in dmsBox, but
**might be difficult, since the data are often not validated within the 
**object itself.  Perhaps need a dmsBox::validate() function.

Run Script Menu function usually works, but it did not on my first try here.
Odd.

Print message box regarding sky color should be YesNoCancel

"Pointing|Track Object" should be "Engage Tracking", and should toggle to 
"Stop Tracking". 

Settings|InfoBox submenu items need accelerator keys

Configure KStars action should have a hotkey (Ctrl+O?)

More Tips of the Day

Tweak positions of Constellation names (Ursa Major, for example)?

Set Time Dialog does not close on ESC

Time Step widget too narrow to show minus sign

Setting focus to Alt/Az coords engages tracking, which keeps RA/Dec constant 
with time.  Is it more expected to keep tracking off, thereby keeping
Alt/Az constant with time?

Small error in setting focus coordinates manually.  Setting to "5h, 0deg"
results in 5h 0m 0s, -0d 0' 8", in both Horiz and Equat modes

Manual focus tool automatically and silently "wraps" invalid angles into 
the correct range.  Should simply disable the Ok button.

"Explain DST Rules" window should have a larger default size.
 
In Location Dialog, adding a new city: the "Add to List" button needs to 
de-activate if any required fields become empty.  Also, it should not
activate until *all* required fields have *valid* data.  It currently
activates even when the latitude field is completely blank.

The dynamic loading of additional stars by adjusting the faint limit in the
View Options Dialog works, but the skymap is not updated until the window
is closed.

Objects in custom catalogs with multi-word names are not being parsed 
properly, even though the name is placed in quotes.

Removal of custom catalog should trigger a redraw of the map.

Comets are hidden at low zoom.  Revert this!
 
When using outline mode for Milky Way, the line should be thicker

M32 not visible behind M31; swap order in catalog?
 
ViewOpsDialog: When showing both StarName and StarMag labels, unnamed
stars should display only their magnitude, not the string "star".

ViewOpsDialog: When displaying only StarMag labels, the name should be
prepended if the object has a UserLabel attached (otherwise, the mag
is drawn superimposed on the UserLabel)

ViewOpsDialog: StarColorMode items listed twice each

ViewOpsDialog: if opened with StarCatalog unchecked, related options 
not disabled until some change is made.

ViewOpsDialog: if opened with HideObjects unchecked, related options 
not disabled until some change is made.

AltVsTime: Change "Search" button to "Find Object"; move it to top of list

AltVsTime: When DateLocation Update button pressed, updated curves drawn
with incorrect QPen (wrong color/thickness)

Rise/Set times do not match +/- 1 min between DetailsDialog and PopupMenu

ScriptBuilder: Why are the Clock functions listed under "clock#1" instead
of something like "SimClockInterface"?  Need to fix this, and add code
to update existing scripts that use "clock#1".

FOVEdit: the "No FOV symbol" does not erase the preview pane.

FOVEdit: When new symbol is added, it should be pre-selected in the listbox

FOVEdit: New Symbol should be added when "Ok" is pressed in the "New Symbol"
dialog; it currently does not add the symbol until "Ok" in FOVDialog is
pressed (expectation is that I pressed Ok in the NewSymbol dialog to 
create the symbol; if I then press Cancel in FOVDialog, that should only 
cancel the setting ofd the current symbol, not the creation of a new one)

FOVEdit: If symbol removed from list, the adjacent symbol should be 
highlighted in list and shown in preview pane.

DetailDialog: Named stars need Links and Log tabs.

PopupMenu: Empty Sky should show Rise/set/transit data

PopupMenu: Named Stars need an "Add Link" item

Data Not Found: Message on missing Hipparcos file refers to "hipN.dat".
Should use the actual number instead of N.

Data Not Found: When Critical File is not found, perhaps offer a "Retry"
button in message box, so user can go to console and try to fix.

Data Not Found: Message for Non-Critical files is awkward.

Can lines drawn through QPainter be made antialiased?

PlanetTrails: Planets should be drawn in front of trails.  Draw all trails 
first, then draw planets.

PlanetTrails: "phantom" trail lines that transect the screen should not 
be drawn.  Need to detect when adjacent Trail points are on opposite sides 
of the sky, and skip connecting those point-pairs.  Look to Ecliptic code 
for how-to, as it seems to be done right.



More information about the Kstars-devel mailing list