GpgOL Test Plan
Status: in progress
Contents
Introduction
The purpose of this test plan is to ensure GpgOL works well on all supported Microsoft Windows operating systems with all supported versions of Microsoft Outlook.
Test environment
Choose one combination of the following target platforms supported by GpgOL.
Microsoft Outlook:
- 2003 (32bit)
- 2007 (32bit)
- 2010 (32 or 64bit)
- 2013 (32 or 64bit)
- 2016 (32 or 64bit)
Operation system:
- Windows Vista (32 or 64bit)
- Windows 7 (32 or 64bit)
- Windows 8 (32 or 64bit)
- Windows 10 (32 or 64bit)
For interoperability tests additional mail clients will be tested together with Outlook/GpgOL:
- Thunderbird with Enigmail-Add-On (on Windows, MacOS or GNU/Linux)
- Apple Mail with GPGTools (on MacOS)
- Kontact Mail (KMail) enterprise 35 (on GNU/Linux)
- Kontact Mail (KMail) of KDE 4.14 (on GNU/Linux)
It is recommended to use a clean virtual test environment, e.g. with VirtualBox.
Preconditions
- email account A on IMAP/SMTP server
- email account B on Exchange Server 2013 or later
- OpenPGP public key (*.asc or *.gpg) and private key (*.asc or *.gpg)
- S/MIME certificate chain (*.pem) and private key (*.p12)
Tests
Testsuite 1: GpgOL basic crypto tests
Send crypto mails from/to same Outlook account.
1.1 PGP/MIME
Send mails with PGP/MIME:
a) sign and verify
b) encrypt and decrypt
c) sign/encrypt (with attachment*) and decrypt/verify (and check attachment)
1.2 S/MIME
Send mails with S/MIME:
a) sign and verify
b) encrypt and decrypt
c) sign/encrypt (with attachment*) and decrypt/verify (and check attachment)
(*) Attachment should contain umlauts in filename (e.g. fooäüö.txt)
Testsuite 2: GpgOL extended tests
2.1 Exchange Server
Run all tests from testsuite 1 via Exchange Server.
2.2 Move Mails
Move some encrypted mails from inbox into an other folder. Check with an other IMAP client that all mails are always encrypted.
2.3 Drafts
Create new message. Mark message with "sign" and "encrypt". Close and save mail as draft. Open draft again. Check if the message is still marked with "sign" and "encrypt".
2.4 Cancel crypto operation
Create a mew message. Mark as sign/encrypt. Click send. Cancel certificate selection dialog. Check if the message is not sent.
2.5 Sent messages
Send a signed/encrypted message. Check the sent folder ("Sent messages") if the mail is still signed/encrypted.
2.6 Reply
Reply to an encrypted mail. Check if the quoted text contains the decrypted message.
2.7 Disable GpgOL
Disable the GpgOL plugin in Outlook (via COM add-ons). Select a signed/encrypted mail. Check that the mail cannot decrypted/verify.
2.8 Deactivate GpgOL's S/MIME (GpgSM)
Testsuite 3. Interoperability tests (Kontact Mail)
Send crypto mails from Kontact Mail (KMail) to Outlook (GpgOL).
3.1 Using PGP/MIME
a) sign (KMail) -> verify (GpgOL)
b) encrypt (KMail) -> decrypt (GpgOL)
c) sign/encrypt with attachment (KMail) -> decrypt/verify and check attachment (GpgOL)
d) answer to (a): sign (GpgOL) -> verify (KMail)
e) answer to (b): encrypt (GpgOL) -> decrypt (KMail)
f) answer to (c): sign/encrypt with attachment (GpgOL) -> decrypt/verify and check attachment (KMail)
3.2 Using S/MIME
a) sign (KMail) -> verify (GpgOL)
b) encrypt (KMail) -> decrypt (GpgOL)
c) sign/encrypt with attachment (KMail) -> decrypt/verify and check attachment (GpgOL)
d) answer to (a): sign (GpgOL) -> verify (KMail)
e) answer to (b): encrypt (GpgOL) -> decrypt (KMail)
f) answer to (c): sign/encrypt with attachment (GpgOL) -> decrypt/verify and check attachment (KMail)
3.3 Using no-mime-PGP
a) sign (KMail) -> verify (GpgOL)
b) encrypt (KMail) -> decrypt (GpgOL)
c) sign/encrypt without attachment (KMail) -> decrypt/verify (GpgOL)
Testsuite 4. Interoperability tests (Thunderbird)
Send crypto mails from Thunderbird (Enigmail) to Outlook (GpgOL).
4.1 Using PGP/MIME
a) sign (TB) -> verify (GpgOL)
b) encrypt (TB) -> decrypt (GpgOL)
c) sign/encrypt with attachment (TB) -> decrypt/verify and check attachment (GpgOL)
d) answer to (a): sign (GpgOL) -> verify (TB)
e) answer to (b): encrypt (GpgOL) -> decrypt (TB)
f) answer to (c): sign/encrypt with attachment (GpgOL) -> decrypt/verify and check attachment (TB)
4.2 Using S/MIME (with Thunderbird's S/MIME implementation)
a) sign (TB) -> verify (GpgOL)
b) encrypt (TB) -> decrypt (GpgOL)
c) sign/encrypt with attachment (TB) -> decrypt/verify and check attachment (GpgOL)
d) answer to (a): sign (GpgOL) -> verify (TB)
e) answer to (b): encrypt (GpgOL) -> decrypt (TB)
f) answer to (c): sign/encrypt with attachment (GpgOL) -> decrypt/verify and check attachment (TB)
4.3 Using no-mime-PGP
a) sign (TB) -> verify (GpgOL)
b) encrypt (TB) -> decrypt (GpgOL)
c) sign/encrypt with attachment (TB) -> decrypt/verify and check attachment (GpgOL)