Excel Integration Testing

Summary

The following page documents testing of the Axpo Excel integration. Please note that Excel columns are written in brackets: i.e. "(AC)" is column AC in Excel document LinthalDrawing-Planning-1.xlsm. 2

Resources

Axpo Excel integration features are tested against the following specifications:

All tests against DrawMGT-AxpoExcelIntegration-15.pdf are performed with ExcelIntegrationAxpoDemoNotes in mind!

Critical Bugs

Minor Bugs

Amendments

SOLL-IST-WER combinations

The following tests show if expected results are met (i.e. if database saves are correct), when Soll(AS), Ist(AT) and Wer(AU) are set/unset:

-- OK

-- OK

-- OK

-- OK

-- OK

-- OK

IST / Status

Vorabzug Flag handling / RevC Revision Type menu handling

onChange RecC Revision type behavior (CD):

onChange Vorabzug behavior (AP):

COMMENT: When Vorabzug fields are 'locked', it's still possible to enter data and select from select menues. Also, if I change the Vorabzug flag, the revision code is not changed.

Create New Document

'Create New Document' inserts after selected row:

When "Create New Document", it is possible to complete all fields for all three revisions but only if the required publish files (Ausgabedatei) are uploaded in the web-interface. They cannot be uploaded using Excel.

Therefore, the scenario below was not tested before:

Duplicate Selected

Check for Duplicates

Correctly highlights found duplicates -- OK

Delta calculations

The rules are ...

Soll TGZA (CM) = T0 (CS) - ∆1 (CR)

Soll TF (BX) = Soll TGZA (CM) - ∆2 (CL)

PrüfSoll (BQ) = Soll TF (BX) - ∆3 (BW)

Soll TZF (BK) = PrüfSoll (BQ) - ∆4 (BO)

BrSoll (BD) = Soll TZF (BK) - ∆5 (BJ)

StnSoll (AX) = BrSoll (BD) - ∆6 (BC)

Soll TV (AS) = StnSoll (AX) - ∆7 (AV)

... or the other way around ...

Soll TV (AS) + ∆7 (AV) = StnSoll (AX)

StnSoll (AX) + ∆6 (BC) = BrSoll (BD)

BrSoll (BD) + ∆5 (BJ) = Soll TZF (BK)

Soll TZF (BK) + ∆4 (BO) = PrüfSoll (BQ)

PrüfSoll (BQ) + ∆3 (BW) = Soll TF (BX)

Soll TF (BX) + ∆2 (CL) = Soll TGZA (CM)

Soll TGZA (CM) + ∆1 (CR) = T0 (CS)

... simplyfied ...

Soll TV (AS) + ∆7 (AV) + ∆6 (BC) + ∆5 (BJ) + ∆4 (BO) + ∆3 (BW) + ∆2 (CL) + ∆1 (CR) = T0 (CS)

Therefore ...

If I set ∆0 to a date in the future, and enter expression "=AS23+(AV23+BC23+BJ23+BO23+BW23+CL23+CR23)" in an Excel cell [adding the sum of deltas except ∆0 to Soll TV (AS23)], and change random deltas except for ∆0, the result always equals to ∆0 (CS23) -- OK

Also, I added cells right below Soll date cells to proof, that ...

Soll TV (AS) + ∆7 (AV) = StnSoll (AX) [...]

... and changed random deltas again, and compared these cells with all the soll dates. There are no differences -- OK

Umlauts

TO BE TESTED: Umlauts may still not be rendered correctly. The final test of this is possible only after all alerts are not wrapped in XML anymore.

Umlaut characters created from the Web GUI in text fields (e.g. titles and other text fields), and then displayed in the Web GUI. -- OK

Umlaut characters created in Excel in text fields, and then displayed in Excel. -- OK

New document created in Excel with umlauts in titles (1-4), and then saved to server. Display in web-interface -- OK

New document in web-interface (title "Excel-Test-Umlauts-From-Server (äöü)") with all required versions for VA, ZF, FR created and saved; Afterwards, "Search Documents" in Excel with Rapport "Bau", Bereich "LC1" and Titel "Excel-Test-Umlaut": -- OK

HTTP response 200 Response text:

<?xml version='1.0' encoding='UTF-8'?> <record id='26696' type='Revisions' key='revisionId'> [...] <title0>Excel-Test-Umlauts-From-Server (äöü)</title0> [...] </record>

Update existing but changed document with updated titles (v2/ZF revision only) in Excel with "Refresh Selected": -- OK

Search Documents

Dok. Nr.:

Bereich:

Zugriff, Projektphase, Fachbereich, Objekt, Kontakt, Dokumenttyp, Gruppe, Archiv, Lage:

COMMENT: Entering invalid data also leads to funny results being placed in the worksheet.

AMENDMENT: In selects, it should not be possible to enter custom data.

Laufnummer (von - bis):

Place results in new worksheet -- OK

Titel -- OK

Ext. Ref.:

COMMENT: If a document has 'Ext. Ref.' = 'abcde', and I search for 'Ext. Ref.' = 'abcde', the search returns the desired result.

QUESTION: What is a valid value for 'Ext. Ref.'?

Versionsdatum (von - bis) -- ??? QUESTION: How can I test this?

'Search' button: -- OK

AMENDMENT: If nothing is entered, and 'Search' is clicked, a confusing alert message appears: 'Eingabe Fehler / Test Case: Feld erforderlich'.

FAILED: Because it is possible to enter out-of-range data in Excel's select menues, the database queries are mixed-up and funny results are produced and placed in the worksheet.

Basic Tests

  1. Check reading and updating of all fields

From Excel to server:

QUESTION: Dokumenttyp 03.1/03.2 etc that exist in Excel are not existing in my system yet.

Vorabzug:

zur Freigabe:

Gut zur Ausführung:

High-Priority Items

Internals

  1. CRITICAL Implement cell locking helper functions that make cells read-only/non-read-only
    • Implementation initial implementation that just sets field's background color to indicate that the field is locked. -- OK
  2. TEST Fix handling/display of progress messages:
    • Convert display of Record count to Revision count in search -- (check lower right msg in Excel -- not critical now)
    • All (most?) menu items should clear display area when operation completes -- OK
  3. Fix checkDuplicates to check both the drawingCode and drawingId fields -- OK
    • Set cell note and highlighting when duplicates found -- OK
  4. Review/improve cell note set/clear functions: isCellDifference and setCellDifferenceComment -- FAILED
    • Fix bug when comparing date fields -- FAILED
    • Do not set cell comments in key set area -- (to be tested)
      • (check title, dates for changes after 'Refresh Selected') make sure, that hidden red fields NEVER have cell comment Note: Date fields should only have a comment after a 'Refresh Selected', if an update on the server side changed dates. If T0 (CS) is set/updated and "Save Selected", the calculated SOLL dates are not saved on the server: FAILED: designPlanDate(BQ), checkPlanDate(BX) are not saved. If changed in web-interface and 'Refresh Selected' in Excel:
    • VA Erstellen: Soll, Ist, Wer
      • Ist -- OK
      • Wer -- OK
    • VA Stellungnahme
      • Ist -- OK
      • Wer -- OK
    • VA Bereinigung
      • Ist -- OK
      • Wer -- OK

  1. Implement checking for duplicate worksheet names -- OK

After manually creating new worksheet named 'Bau-23', I 'Search Documents' with 'Place results in new worksheet', and received a new worksheet named 'Bau-24' -- OK

Edit

  1. CRITICAL (AH) Implement Vorabzug ja/nein flag
    • Lock and grey-out all Vorabzug fields if Vorabzug flag set to 0 -- test later
    • Disable plan date formulas when Vorabzug set to false -- test later
  2. TEST GA/Freigegeben menu:
    • Sets the RevC revisionTypeId -- OK

      (CA-CF select -> show; should give you RevC value)

    • Menu with two choices: freigegeben (13) and gut zur Ausführung (15)

-- OK

Validation

  1. TEST Client-side field validation
    • Implement Ist field validation.-- OK
    • Formulas generated from Perl script. -- (to be tested)
      • See axpo-integration/data/genValidation.pl -- (to be tested)

MEANING: Test Analog workflow wizard validation (except Soll)!

Save/Update

  1. TEST Save handling of Vorabzug menu and GA/Freigegeben menus
    • Vorabzug flag -- ?
      • (AP, if already "ja", it should be locked. Check specs)
    • GA/Freigegeben menu -- ?
      • (After it was set, it should be locked.)
      NOT YET IMPLEMENTED: Basically, after save, both menues are to be locked. MEANING: Both menues determine document codes. Check specs 5.2.1 Axpo Revision Sequence, 5.2.2 Sub-Revision Coding System, and test against them.
  2. TEST Implement field locking after save. Fields:
    • Bereich menu -- OK
    • Vorabzug flag -- OK
    • GA/Freigegeben menu (RevC type) -- OK
  3. Generate client-side error on update/insert when drawing code not complete -- FAILED
    • Sometimes, client-side errors still are wrapped in XML tags
    • After "New document" with title only set to "Excel-Test-2", I correctly receive an error ...
      • saveRow: Internal error: Invalid XML Response. HTTP response: 400

        Response text: <?xml version='1.0' encoding='UTF-8'?> <response type='Drawings' key='drawingId' id=' ' ref='Doc'> <error>Feld 'Dok. Nr.'-'Laufnummer' ist ung?ltig.</error> <error>Feld 'Dok. Nr.' ist ung?ltig.</error> </response> 64 -- FAILED AMENDMENT: The error should not be wrapped in XML tags.

    • After "New document" with title 'Excel-Test-2', Laufnummer '0001'
      • I correctly receive an error -- OK
    • After "New document" with title ' ', Laufnummer '0001' I correctly receive an error -- OK
    • After "New document" with title 'Excel-Test-4', Berechtigung Server (Z) "E-Extern", Klassifizierung Projektphase (Ph) "0 - phasenunabhängig", Klassifizierung Fachbereich (FB) "01.3 - Management - Versicherung", Objekt (O) "101 - Bestehende Anlagen - Stauanlage Limmernsee", Kontakt (K) "102 - Unternehmer und Lieferanten - ALSTOM Hydro Schweiz AG", Dokumenttyp (DT) "03.1 - Protokoll - Sitzungsprotokoll" and Laufnummer "0001", I correctly receive an error, but the error is rather confusing ... saveRow: Internal error: Invalid XML Response. HTTP response: 400

      Response text: <?xml version='1.0' encoding='UTF-8'?> <response type='Drawings' key='drawingId' id=' ' ref='Doc'> <error>Feld 'Dok. Nr.' 'Objekt' muss angegeben werden.</error> <error>Feld 'Dok. Nr.' 'Kontakt' muss angegeben werden.</error> <error>Feld 'Dok. Nr.' 'Dokumenttyp' muss angegeben werden.</error> <error>Feld 'Dok. Nr.' 'Laufnummer' muss angegeben werden.</error> <error>Feld 'Dok. Nr.' ist ung?ltig.</error> </response> 64

-- FAILED

  1. Implement checking of record serial numbers on update -- FAILED

Changed title of document in Excel (without saving), then changed title of same document (type 'v2/ZF/zur Freigabe') in web-interface with saving. 'Save Selected' in Excel shows expected error message:

-- OK

  1. Save all/selected should set record update counts -- FAILED TODO re-evaluate
    • Test that a second save results in state with correct record update counts -- (to be tested)
    QUESTION: Under what condition should keyDocUpdateCountDoc (Excel cell:B{n}) increment its value?
  2. Duplicate row detection before:
    • search / test cases -- ?
    • save all / save selected -- ?
    • refresh all / refresh selected -- ?
    MEANING: Check specs for it and test against.

Attributes

Medium-Priority Items

6. TEST Performance:

MEANING: create many records. User Search and measure how long it takes.

  1. Implement new columns to display record status and DrawMGT id values (design needed) -- (to be tested) MEANING: Cell R, if gelb = change, pink = error, white = ok
  2. Design for record status fields
    • May not be needed if the above highlighting is implemented -- ?
    MEANING: Same as above.

Excel Start-Up

Downloading Metadata

Creating New Metadata

Synchronizing Spreadsheet Metadata

Document and Revision Workflows

Reports

Saving Metadata

Exiting Excel

Document and Revision Process Operations

Login, Start-Up and Exit

Start-Up Procedure

If the user successfully logs into the DrawMGT server then a procedure is initiated which downloads the following into the spreadsheet:

  1. The latest VBA code for the spreadsheet -- (to be tested)
  2. Attribute lists -- (to be tested)
  3. User lists -- FAILED
    • COMMENT: When I set user 'Hans Muster' on loki test-server, and 'Refresh Selected' in Excel, the user displayed is 'Albert Franz'.
  4. User role lists -- (to be tested)

Create New Document

Refresh Selected

After change in web-interface

Save Selected

Check for Duplicates

Duplicate Selected

Get Next Sequence

ExcelIntegrationTesting (last edited 2011-10-28 19:07:59 by 77-58-103-157)

Copyright 2008-2014, SoftXS GmbH, Switzerland