Alteametasoft has been providing custom software development as an outsourcing service. We are using a wide range of technologies, platforms, and environments. The software development is provided from scratch and as the support, testing, maintenance and re-engineering of the existing systems.
Software development
What custom software development includes
- For software product manufacturers – software development companies who outsource either some or all of the development cycle of a product or product’s software, our custom software development includes:
- Identification of software requirements
- Time and cost estimation, project planning
- Research activities
- Design of software architecture
- Design implementation and testing
- Maintenance and support
- For enterprise application customers – clients looking for cost-effective IT solutions for their business, requiring development of complete end-user systems specific to their area of business – our custom software development includes:
- Analysis and modeling of business processes
- Technology consulting
- Time and cost optimization, project planning
- Design of system architecture
- Design implementation and testing
- System deployment and integration
- End-user training and support
- System maintenance
Software testing
Types of testing provided
Testing service includes both black- and white-box testing, and provides the following key types of testing:
- Certification / conformance testing – black-box testing based only on the specifications or standards to which the tested product must conform, strong conformance to the standards or specifications is verified, no assumptions are made based on product functionality.
- Functional testing – tests to check product functionality corresponds to the functional requirements and product specifications.
- Testing for optimization – a process closely related to testing, bottlenecks are identified and removed by algorithms / design model / technologies investigations and improvement and fine-tuning the software / hardware.
- UI testing – automatic and interactive testing of product’s User Interface for functionality and usability.
- Reviews – these include reviewing the specifications to check they are complete and correct, reviewing product documentation, User Guides, etc.
What Software testing service includes
- Test engineering:
- Determining testing strategy and development of test case specifications
- Test suite structure design
- Development of test suite build / run / result analysis and test case generation tools
- Test case code and documentation development
- Analysis of existing test suites for a product or technology for re-using
- Porting of other vendor’s test suites
- Executions of test cycles:
- Code, specification and product documentation reviews
- Scheduled and on-demand test runs, results analysis and reporting
- Bug reports tracking, verification of bug fixes
- Investigation of source codes for bug fixing
- Testing quality improvement analysis:
- Measurement and analysis of assertion coverage by test suites
- Measurement and analysis of source code coverage by test suites
- Determining strategies for improving assertion / source code coverage
- Investigations for optimization:
- Development and running of code analyzing tools, results analysis
- Investigations of system architecture, design and source codes for identifying performance bottlenecks
Methods of testing established by software process
The company’s software process ensures that the following testing is performed during a software development life-cycle:
- Peer-reviews / reviews
- Unit testing
- Integration testing
- System testing
- Compatibility testing
- Regression testing
- Performance testing
- Stress testing
- Installation testing
Tools
We always try to automate testing process as much as possible. During our time as a testing service we developed many tools which are used for testing purposes. The tools are based on various technologies – from shell scripts to Java and XML, and are targeted at various aspects of testing:
- Automatic test generation tools
- Test porting tools
- Test suite building tools
- Coverage measurement tools
- Optimization tools
- Static analysis tools
- Test run automation tools
Maintenance, support and re-engineering
- System improvement, adaptation, enhancement
- System core rewrites, re-architecturing
- System sustaining – defect fixing, patching
- Adaptation of other vendors’ or new components to the system
- Providing a Web interface to the system
- Project recovery
- User support
- Porting software to a specific platform
- Migration between programming languages
- Migration between runtime platforms
- Migration between toolkits and technologies
- Customization of the system to the clients needs and technology environment
- National language localization, internationalization
- Database and data format conversion