osmo-ttcn3-hacks/bsc
Harald Welte 818b6e4225 Add "SourceInfoFormat := Single;" to all test configs
This will make sure that all log files will contain information about
the .ttcn source file name and line number that has caused the log,
which is extremely useful during debugging.

Change-Id: Id6785757f20279ba84b34747f878baf67d065b20
2018-01-17 11:11:29 +00:00
..
BSC_Tests.cfg Add "SourceInfoFormat := Single;" to all test configs 2018-01-17 11:11:29 +00:00
BSC_Tests.ttcn Test control connection status query for MSC 0. 2018-01-12 14:25:44 +00:00
BSSAP_Adapter.ttcn BSSAP_Adapter: Fix missing 'repeat' in as_reset_ack() 2017-12-22 20:40:38 +01:00
MSC_ConnectionHandler.ttcn BSC_Tests: Fix TC_assignment_fr_a5_4 2017-12-25 00:00:58 +01:00
README.txt BSC_Tests: Update readme + source code comments 2017-12-17 19:48:03 +01:00
gen_links.sh GSUP Support and first test against OsmoHLR 2017-12-28 23:17:24 +01:00
osmo-bsc.cfg Fix BTS location area code assignment in test configuration. 2018-01-09 13:19:46 +01:00
osmo-stp.cfg Add osmo-bsc.cfg and osmo-stp.cfg for this test case 2017-12-11 19:53:35 +01:00
regen_makefile.sh bsc-test: Fix compilation after IuUP support was introduced 2017-12-28 23:17:24 +01:00

README.txt

Integration Tests for OsmoBSC
-----------------------------

This test suite tests OsmoBSC while emulating both multiple BTS + MS as
well as the MSC.

In terms of external entities, you will need to run
* osmo-mgw in order to properly terminate the MGCP commands by the BSC
* osmo-stp as STP between the simulated MSC and osmo-bsc
* 3x osmo-bts-omldummy as this test suite only implements RSL and no OML

The included jenkins.sh script, together with the Dockerfiles from
http://git.osmocom.org/docker-playground/ can be used to run both the
osmo-bsc-under-test as well as the extenal entities and the tester.


Further Test Ideas
------------------

This is a random list of things about things possible to test.
Asterisks '*' are TODO, while 'x' means already implemented.

= exhaustion of resources

x send many CHAN RQD (any) and count if all channels get actually allocated
xx verify BTS_CTR_CHREQ_TOTAL reflects number sent on RSL
** verify how quickly they get released again
** verify that CHAN RQD with same RA + FN get only on allocation
x verify that we get IMM_ASS_REJ once channels are exhausted
xx verify BTS_CTR_CHREQ_NO_CHANNEL increments accordigly
* verify for particular channel type / cause values
* verify that IMM.ASS.REJ has increasing back-off
* verify how BSC reacts to AGCH overload (DELETE IND)

= paging

x page by TMSI vs. page by IMSI
x verify if CCCH_LOAD_IND(PCH) slot count is observed
x verify paging expiration
x paging with different identity (lac/cgi/...) on A interface -> expect on right BSC(s)

= assignment

x CSD call
x CTM telephony
x CIC on AoIP
x missing CodecList IE
* with no CIC and no AoIP
* with IPv6 Address in AoIP
* with LCLS information
x supported/unsupported/invalid ciphers
* supported/unsupported/invalid codecs
* inconsistent channel type + codec + codec-list
* on full BTS -> fail

= hand-over

* intra-BSC HO
* handover detect when not expected

= erroneous channel release

x no response to CHAN ACT
x CONN FAIL IND from BTS
** verify counter increment of BTS_CTR_CHAN_RF_FAIL
* no (or late?) response to RF CHAN REL
* no (or late?) response to RLL RELEASE REQ
x RLL messages on not-activated channels

= misc

* SMS-CB
x behavior in case of CHAN ACT NACK
* EST REQ for SAPI3 originating from core
* behavior of BSC in various error cases  (ERR IND)
** BTS_CTR_CHAN_RLL_ERR increment on T200_EXPIRED
* MODE MODIFY with ACK / NACK / no response
* invalid message type / IE type
** verify BSSAP CONFUSION is sent in all applicable cases

= IPA voice related

* expect IPA CRCX, send UDP flows, expect them on AoIP
* expect RTCP 
* missing RTP flow?
* missing RTCP?
* missing / drop-outs in RTP flow[s]
* no response to IPA CRCX / MDCX / DLCX

= counters

* test each and every counter in BSC, validate via CTRL interface
xx RSL/OML failure: drop link, expect BTS_CTR_BTS_xxx_FAIL +1
xx paging
xxx send PAGING from MSC side
xxx expect BSC_CTR_PAGING_ATTEMPTED increase by one
xxx expect BSC_CTR_PAGING_EXPIRED on T3113 expiration
** BTS_CTR_CODEC_* on CHAN_ACT_ACK
* new counter ideas
** number of SCCP CR timeouts
** number of incoming RESET from MSC

= VTY based/corresponding tests

* changes in BCCH FILLING
* changes in SACCH FILLING

= dynamic TS switching

* TBD